nohup: игнорирование ввода - что это значит?

16

Я использую nohupкоманду от времени, как

nohup bash life.bash > nohup.out 2> nohup.err &

В nohup.errфайле у меня всегда есть строка nohup: ignoring input. Не могли бы вы помочь мне понять, что это значит?

звезда
источник
Если вы собираетесь делать перенаправления самостоятельно, вы почти ничего не используете nohup; bash life.bash >life.out 2>life.err </dev/null & disown -h "$!"делает то же самое, используя только функциональность, встроенную в саму оболочку.
Чарльз Даффи

Ответы:

12

Это просто nohupговорит вам, что это настроено; это выводит это к его стандартной ошибке, к которой вы перенаправили nohup.err. Вы можете избежать сообщения, перенаправив его стандартный ввод:

nohup bash life.bash > nohup.out 2> nohup.err < /dev/null &

nohupпроверяет его стандартный ввод, стандартный вывод и стандартную ошибку, чтобы увидеть, какие из них подключены к терминалу; если он находит какие-либо подключенные, он обрабатывает их соответствующим образом (игнорируя ввод, перенаправляя вывод в nohup.out, перенаправляя ошибку в стандартный вывод), и сообщает вам, что он сделал. Если он не находит ничего, что нужно отключить, он сам ничего не выводит.

Стивен Китт
источник
6

nohup говорит вам точно, что он делает, что игнорирует ввод.

Если вы хотите избежать этого сообщения, перенаправьте стандартный ввод с /dev/nullэтого

nohup bash life.bash </dev/null >nohup.out 2>nohup.err &
roaima
источник
Я надеюсь, что это означает, что он игнорирует все вводимые с клавиатуры данные в простом смысле, поскольку он работает в фоновом режиме.
Манохар Редди Поредди
3
man nohup

«Если стандартный ввод - это терминал, перенаправьте его из нечитаемого файла».

Следовательно,

nohup: ignoring input and appending output to 'nohup.out'

Он делает то, что должен делать, несмотря на записи OPTION , поэтому ввод отбрасывается.

ТАКЖЕ Кажется, вы используете избыточное использование перенаправления. nohup уже создает для вас nohup.out, и, если все работает нормально, stderr также должен быть перенаправлен туда.

Ура!

Марио Г.
источник