GNU/Linux >> Tutoriales Linux >  >> Linux

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

Suponiendo que tiene un programa ejecutándose en primer plano, presione ctrl-Z , entonces:

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

Si solo hay un trabajo, entonces no necesita especificar el número de trabajo. Solo usa disown -h y 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 devuelve a un mensaje de bash.

Escribes el disown -h %1 comando (aquí, he usado un 1 , pero usaría el número de trabajo que se mostró en el Stopped mensaje) que marca el trabajo para que ignore el SIGHUP señal (no se detendrá al cerrar la sesión).

A continuación, escriba el bg comando usando 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 la sesión y seguirá ejecutándose.


Deberías intentar usar nohup y ejecutándolo en segundo plano:

nohup sleep 3600 &

Probaría con la pantalla del programa.


Linux
  1. Cómo cerrar sesión instantáneamente en Ubuntu desde una terminal

  2. Cómo usar SSH en Linux desde Android

  3. ¿Cómo salgo de `sudo su`?

  4. Evite que la tarea de Linux que se está ejecutando actualmente se elimine después de cerrar la sesión de SSH

  5. ¿Cómo usar nohup para continuar ejecutando un comando después de que el usuario cierre la sesión?

Cómo evitar que se agote el tiempo de espera de SSH

Cómo cerrar la sesión de Ubuntu [Consejo para principiantes]

Cómo mantener las sesiones SSH remotas en ejecución después de la desconexión

Cómo cerrar la sesión de un usuario fuera de SSH en Linux

Cómo comprobar si se ha ejecutado un trabajo cron (registro crontab)

¿Cómo ejecutar comandos automáticamente en el inicio de sesión SSH?