nohup: ignorando la entrada, ¿qué significa?

16

Estoy usando el nohupcomando desde hace un tiempo como

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

En el nohup.errarchivo siempre tengo una línea nohup: ignoring input. ¿Puedes ayudarme a entender qué significa?

estrella
fuente
Si va a hacer las redirecciones usted mismo, casi no tiene ninguna utilidad nohup; bash life.bash >life.out 2>life.err </dev/null & disown -h "$!"hace lo mismo usando solo la funcionalidad integrada en el propio shell.
Charles Duffy

Respuestas:

12

Eso solo nohupte dice lo que está configurado; lo envía a su error estándar, al que ha redirigido nohup.err. Puede evitar el mensaje redirigiendo su entrada estándar:

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

nohupcomprueba su entrada estándar, salida estándar y error estándar para ver cuáles están conectados a un terminal; si encuentra alguno que esté conectado, los maneja según corresponda (ignorando la entrada, redirigiendo la salida a nohup.out, redirigiendo el error a la salida estándar), y le dice lo que ha hecho. Si no encuentra nada que necesite desconectar, no genera nada por sí mismo.

Stephen Kitt
fuente
6

nohup te dice exactamente lo que está haciendo, que está ignorando la entrada.

Si desea evitar este mensaje, redirija stdin de /dev/nullesta manera

nohup bash life.bash </dev/null >nohup.out 2>nohup.err &
roaima
fuente
Espero que eso signifique que ignora todas las entradas del teclado en sentido simple, ya que se ejecuta en segundo plano.
Manohar Reddy Poreddy
3
man nohup

"Si la entrada estándar es una terminal, rediríjala desde un archivo ilegible".

Por lo tanto,

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

Está haciendo lo que se supone que debe hacer, a pesar de las entradas de OPCIÓN , por eso se descarta la entrada.

TAMBIÉN Parece que está haciendo un uso redundante de la redirección. nohup ya crea un nohup.out para usted y, si todo funciona bien, stderr también debe redirigirse allí.

¡Salud!

Mario G.
fuente