2012-08-13 14 views
23

Bueno, esto es así, tuve que ejecutar un programa desde mi casa al ssh entrar en el servidor de mi institución. No quería que mi programa finalizara cuando se cierra la sesión (no sabía acerca de screen).¿Cómo devolver un proceso de fondo huérfano a primer plano?

Lo que hice fue presionar Ctrl+Z y luego escribir bg para que se ejecute en segundo plano. Se terminó la sesión. Ahora cuando inicio sesión desde la máquina de mi institución y escribo ps -u username, muestra que el programa todavía se está ejecutando, pero no puedo ponerlo en primer plano.

Intenté fg y jobs pero estos comandos no me dan ninguna salida.
Por favor, alguien me ayude ...

Respuesta

17

Si ha comenzado el proceso sin utilizar el comando "pantalla", entonces no puede hacerse cargo de ese proceso. Básicamente, no puede hacerse cargo de un proceso que se inició en un shell diferente.

Cuando finaliza su sesión, todo el proceso bg pasará al estado separado. Aunque es posible que pueda ver los detalles de dicho proceso, no puede pasarlos a un intérprete de comandos desde el inicio de sesión después

8

Si un proceso ha quedado huérfano, no puede "repactarlo" a un shell diferente y usar fg, bg ,^Z,^C, y así sucesivamente para controlarlo.

Parece que estás preguntando implícitamente cómo controlar un proceso huérfano. Como puede ver el proceso usando el comando ps, tiene su pid. Puede utilizar este pid como argumento para el comando kill, que le permitirá detener, continuar o finalizar el proceso. No puede esperar a que el proceso finalice, pero puede sondear para ver si todavía existe utilizando el comando "kill -0 <pid>".

Cuestiones relacionadas