Posible duplicado:
¿Cómo puedo rechazar un proceso en ejecución y asociarlo a un nuevo shell de pantalla?
Lancé un comando que dura mucho tiempo.
Tuve que desconectarme, así que lo moví en segundo plano (con CTRL+Z y bg
) antes de salir.
Algo como esto:
$ my_command
***command is beeing executed and is taking a long time***
^Z
[1]+ Stopped my_command
$ bg
[1]+ my_command &
$ exit
Me volví a conectar y puedo ver el comando en la lista de procesos pero no puedo recuperar con fg
.
$ fg
-bash: fg: current: no such job
¿Cómo recupero mi trabajo en primer plano?
Respuesta aceptada:
Si ya comenzaste algo en alguna parte, lo guardaste en segundo plano y ahora necesitas conectarlo a una nueva terminal, puedes usar reptyr
para volver a colocarlo. (El man
página resume el comando como "Reparentar un programa en ejecución a una nueva terminal".)
La razón por la que no puede verlo en el comando "trabajos" o usar "fg" para traerlo al primer plano es porque estos comandos están integrados en el shell. Técnicamente, no separan los procesos del terminal al que está conectado, por lo que cuando sale del shell, deberían salga también (debería recibir una advertencia cuando intente salir).