Se encuentra usted aquí

Hacer que un proceso siga corriendo tras cerrar una sesión

La mayoría de vosotros ya sabréis que un comando que se lanza desde terminal añadiendo un "&" se ejecuta en segundo plano. Sin embargo, si cerramos la sesión cuando el comando aún no ha terminado, éste es abortado por el sistema.

Para evitarlo se puede ejecutar:

nohup comando parámetros &

Esto crea un fichero "nohup.out" en el directorio actual (o en $HOME si no se tienen permisos), al que se redirige lo que el comando escupa por pantalla (stdout).

Para programas que ya tengamos ejecutándose, la secuencia de órdenes es la siguiente (los dos primeros son necesarios sólo si tenemos el proceso en primer plano por no haberlo lanzado con "&"):

  1. Pulsar CTRL+Z para detener el proceso
  2. Ejecutar bg para enviarlo al segundo plano
  3. Averiguar el PID del proceso con top o ps
  4. Ejecutar disown -h PID

NOTA: disown es una órden interna de bash, por lo que sólo funciona en dicha shell (es la que viene por defecto en casi todas las distribuciones).

Tags: