Respuestas:
Encontré esta respuesta en serverfault de earl :
Sin embargo, para su problema real, no es otra cosa que podría intentar: después de haber lanzado su trabajo desde el terminal, antecedentes, escribiendo ctrl- zy luego
bg
.
Después de eso, separar el trabajo de él es shell padre - enbash
:disown -h %<jobid>
. Después de eso, puede cerrar el terminal de manera segura y el trabajo continuará ejecutándose.
Y esta de la misma pregunta de Rob Wells :
$ screen -S my_process
$ retty $(pgrep my_process)
/redraw
Encontré un duplicado en ServerFault .
Otra solución que no se encuentra en esa publicación es usar retty después de comenzar una sesión de pantalla.
Echa un vistazo a reptyr , que hace exactamente eso. La página de github tiene toda la información.
reptyr - Una herramienta para "volver a hacer pty"
programas
reptyr es una utilidad para tomar un programa en ejecución existente y adjuntarlo a una nueva terminal. ¿Comenzó un proceso de larga duración sobre ssh, pero tiene que irse y no quiere interrumpirlo? Simplemente inicie una pantalla, use reptyr para tomarla, y luego cierre la sesión ssh y diríjase a casa.
USO
reptyr PID
"reptyr PID" tomará el proceso con id PID y lo conectará a su terminal actual.
Después de adjuntar, el proceso tomará la entrada y escribirá la salida en el nuevo terminal, incluidos ^ C y ^ Z. (Desafortunadamente, si lo pone en segundo plano, aún tendrá que ejecutar "bg" o "fg" en la terminal anterior. Es probable que esto sea imposible de solucionar de manera razonable sin reparar su shell).