No sé por qué, pero mi screen
comando que se ejecuta en el servidor se detiene por sí solo. Por eso intenté utilizar nohup
. p.ej:
nohup bzcat a.bz
Pero al ejecutar nohup
me da
nohup: ignoring input and appending output to `nohup.out'
También para continuar ejecuto: fg
lo que me da:
-bash: fg: current: no such job
Respuesta1
El mensaje de nohup
está perfectamente bien. Simplemente explica lo que está haciendo. Cuando ejecuta un programa con nohup, ya no usa lo que escribe en la terminal ni genera nada en la terminal. nohup
redirige la salida del programa a un archivo llamado nohup.out
.
Y es muy diferente que nohup
un programa se ejecute en segundo plano (ejecutarlo en segundo plano sería bzcat a.bz &
). Cuando un programa se ejecuta en segundo plano, ignora la entrada del terminal (solo el programa que se ejecuta en primer plano puede usar lo que usted escribe en el terminal, por eso se llama proceso de "primer plano", porque es con el que realmente está interactuando). con) pero sí sale al terminal. Es posible ejecutar un programa tanto en modo nohup como en segundo plano. De hecho, es la forma habitual en que nohup
se utiliza. Si tiene nohup
un programa pero no lo inicia en segundo plano, no podrá ejecutarlo fg
porque en realidad no está en segundo plano. Simplemente no sale al terminal.
nohup
le permite ejecutar un programa en un modo en el que ignorará HUP
las señales. Los terminales normalmente envían HUP
señales cuando se cierra el terminal. Por lo tanto, un programa que se ejecuta en segundo plano en modo nohup no se detendrá cuando cierre la terminal en la que lo inició.