$ bg
[1]+ ./myscript.sh > output-07-JUL-16.txt 2>&1 &
$ jobs
[1]+ Stopped ./myscript.sh > output-07-JUL-16.txt 2>&1
Если вы запустите jobs -l
, вы можете увидеть что-то вроде следующего, из которого становится ясно, почему задание остановилось:
[1]+ 4274 Stopped (tty input) ./myscript.sh > output-07-JUL-16.txt 2>&1
Что-то в вашем сценарии пытается читать с терминала. Когда фоновое задание пытается читать с управляющего терминала, оно получает сигнал SIGTTIN
и останавливается. (Только фоновое задание может читать с управляющего терминала.)
Причина: в вашем скрипте есть
sudo ssh -q $i /tmp/access.sh
ssh по умолчанию будет пытаться читать со своего stdin. Вы можете указать ssh опцию -n
, чтобы сказать ему не читать из stdin.
sudo ssh -n -q $i /tmp/access.sh