Respuestas:
Eso solo nohup
te 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 &
nohup
comprueba 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.
nohup
te dice exactamente lo que está haciendo, que está ignorando la entrada.
Si desea evitar este mensaje, redirija stdin de /dev/null
esta manera
nohup bash life.bash </dev/null >nohup.out 2>nohup.err &
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!
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.