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:
- En la terminal donde se está ejecutando el proceso pulsa Ctrl + Z para suspenderlo.
- 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).
- Ejecuta la orden jobs -l para obtener un listado de jobs en segundo plano y sus identificadores.
- Luego ejecuta disown -h [job_id] indicando en [job_id] el número del job al que pertenece el proceso.
- ¡Ahora ya puedes cerrar la terminal y el proceso seguira ejecutándose en segundo plano!
- Para volver a recuperar el proceso desde otra terminal