Enviar un proceso a segundo plano una vez ya lanzado


Alguna vez me ha pasado que he lanzado a través de una terminal una instrucción que tarda mucho en ejecutarse y he olvidado ejecutar la herramienta multiplexora screen para desacoplarla de la terminal, por lo que la terminal se quedará bloqueada hasta que termine.

Para evitar que suceda esto y conseguir desacoplar un proceso que ya se esté ejecutando hay que hacer lo siguiente:

  1. En la terminal donde se está ejecutando el proceso pulsa Ctrl + Z para suspenderlo.
  2. Ahora ejecuta bg para continuar la ejecución de ese proceso pero en segundo plano (la instrucción bg sin parámetros se aplica por defecto sobre el último proceso suspendido).
  3. Ejecuta la orden jobs -l para obtener un listado de jobs en segundo plano y sus identificadores.
  4. Luego ejecuta disown -h [job_id] indicando en [job_id] el número del job al que pertenece el proceso.
  5. ¡Ahora ya puedes cerrar la terminal y el proceso seguira ejecutándose en segundo plano!
  6. Para volver a recuperar el proceso desde otra terminal

Previous