¿Cómo hacer que un programa continúe ejecutándose después de cerrar sesión en ssh? [duplicar]

Resuelto omg asked hace 15 años • 6 respuestas

Posible duplicado:
evitar que se detenga un proceso en segundo plano después de cerrar el cliente SSH

Tengo un programa que lleva mucho tiempo terminar. Se ejecuta como root sobre ssh.
Quiero que continúe ejecutándose después de cerrar sesión. ¿Es esto posible y cómo lo lograría?

omg avatar Jun 05 '09 11:06 omg
Aceptado

Suponiendo que tiene un programa ejecutándose en primer plano, presione Ctrl-Z y luego:

[1]+  Stopped                 myprogram
$ disown -h %1
$ bg 1
[1]+ myprogram &
$ logout

Si solo hay un trabajo, no es necesario especificar el número de trabajo. Solo usa disown -hy bg.

Explicación de los pasos anteriores:

Presionas Ctrl-Z. El sistema suspende el programa en ejecución, muestra un número de trabajo y un mensaje "Detenido" y lo regresa a un indicador de bash.

Escribe el disown -h %1comando (aquí he usado un 1, pero usarías el número de trabajo que se muestra en el Stoppedmensaje) que marca el trabajo para que ignore la SIGHUPseñal (no se detendrá al cerrar sesión).

A continuación, escriba el bgcomando utilizando el mismo número de trabajo; esto reanuda la ejecución del programa en segundo plano y se muestra un mensaje que lo confirma.

Ahora puede cerrar sesión y continuará ejecutándose.

Dennis Williamson avatar Jun 05 '2009 05:06 Dennis Williamson

Deberías intentar usarlo nohupy ejecutarlo en segundo plano:

nohup sleep 3600 &
paxdiablo avatar Jun 05 '2009 04:06 paxdiablo

Probaría la pantalla del programa .

Janusz avatar Jun 05 '2009 04:06 Janusz