Cómo hacer que un programa siga ejecutándose después del logout
March 16th, 2005Cuando se lanza un programa desde el shell, éste normalmente queda ligado a la sesión abierta, por lo que cuando se cierra ésta el programa se finaliza automáticamente. Para que esto no suceda es necesario que el proceso se desligue del shell, bien haciéndolo explicitamente en su código, o mediante la utilización del comando nohup por ejemplo.
El siguiente ejemplo ejecuta un programa de nombre foobar en segundo plano y desligándolo del shell, redirigiendo además sus salidas estándar y de error al archivo foobar.log. Este proceso seguirá ejecutándose hasta que termine, incluso aunque finalicemos la sesión de shell bajo la que se haya lanzado.
bash# nohup foobar > foobar.log 2>&1 &
delicious
menéame
fresqui

August 2nd, 2007 a las 3:31 am
Hola amigos, ¿alguien me podría explicar que sucedería si se le da shutdown a la máquina con uno de estos tipos de procesos ejecutándose?
August 2nd, 2007 a las 9:30 am
Hola Pablo, el proceso recibiría la señal de finalización y terminaría. Sería similar a si el programa se ejecutase en paralelo asociada a la sesión de shell abierta y la finalizásemos.
August 2nd, 2007 a las 9:00 pm
Muchas gracias patxi!
sucede que le dí shutdown a la estación y ahora me marca muchos errores, pensé q era por haber corrido el proceso en el modo nohup y haber dado el shutdown, al terminar de bootear ya no me sale la misma ventana de login sino otra diferente, le meto mi cuenta y password y se queda congelada. ¿Hay algun modo de corregir esto, por ej. como en el caso de windows q se arranca en modo protegido y de ahi se puede correr el chkdsk?
saludos desde México.
Pablo