Нужно нажать Enter с nohup - PullRequest
8 голосов
/ 06 ноября 2010

У меня есть команда оболочки, подобная этой

sudo nohup coffee -c -w *.coffee &
disown $!
wait

, но когда я запускаю scrit оболочки, она говорит nohup: appending output to 'nohup.out' и заставляет меня нажать Enter.Как мне избежать необходимости вводить?

Ответы [ 3 ]

6 голосов
/ 06 ноября 2010

Насколько я понимаю, вам не нужно.Сообщение выводится на консоль, но не добавляется в ваш буфер input .Поэтому вы можете просто продолжать вводить свои команды, как если бы не было сообщения от nohup, сообщение не будет мешать вашему вводу.так приятно.

3 голосов
/ 27 апреля 2018

8-летняя тема, но я обнаружил, что ни один из этих ответов действительно не решает проблему в вопросе.

Сообщение nohup: ignoring input and appending output to 'nohup.out' передается через stderr (AFAIK), поэтому для того, чтобы заставить замолчать это сообщение, все, что вам нужно сделать, это перенаправить stderr на /dev/null, например:

nohup mycommand 2> /dev/null

Однако, если вы дополнительно захотите запустить этот процесс в фоновом режиме с &, вы обнаружите, что (по крайней мере, для bash) будет вывод одной строки номера задания и PID (например, [1] 27184) ). Чтобы избежать этого, выполните всю команду в подоболочке, например:

(nohup my command 2> /dev/null &)

Но если вы используете это в сценарии, достаточно первого решения.

1 голос
/ 05 сентября 2013

Вы также можете перенаправить журнал вручную:
sudo nohup coffee -c -w *.coffee > /tmp/coffee.log &

Таким образом, сообщение не будет отображаться вообще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...