Comment ramener un processus de Background orphelin à L'avant-plan?
Eh bien ça se passe comme ça, j'ai dû lancer un programme depuis ma maison en ssh
dans le serveur de mon institution. Je ne voulais pas que mon programme se termine à la fin de la session(je ne savais pas pour screen
).
ce que j'ai fait, c'est Appuyer sur Ctrl+Z
puis taper bg
pour qu'il s'exécute en arrière-plan.
La session ai résilié. Maintenant, lorsque je me connecte à partir de la machine de mon établissement et de taper ps -u username
, il montre que le programme est toujours mais je suis incapable de l'amener au premier plan.
j'ai essayé fg
et jobs
mais ces commandes ne me donnent aucun résultat.
Veuillez quelqu'un de m'aider..
3 réponses
si vous avez commencé le processus sans utiliser la commande" screen " alors vous ne pouvez pas prendre en charge ce processus. Fondamentalement, vous ne pouvez pas prendre en charge un processus qui a commencé dans un shell différent.
lorsque votre session est terminée tout le processus bg va aller l'état détaché. Bien que vous puissiez être en mesure de voir les détails d'un tel processus, vous ne pouvez pas les fg à un shell à partir de la connexion après
si un processus est orphelin, vous ne pouvez pas le" réparer " à un autre shell et utiliser fg, bg, ^Z, ^C, et ainsi de suite pour le contrôler.
il semble que vous vous demandez implicitement comment contrôler un processus orphelin. Puisque vous pouvez voir le processus en utilisant la commande ps , vous avez son pid. Vous pouvez utiliser ce pid comme argument pour la commande kill , qui vous permettra d'arrêter, de continuer ou d'arrêter le processus. Vous ne pouvez pas attendez que le processus se termine, mais vous pouvez interroger pour voir s'il existe toujours en utilisant la commande "kill -0
https://serverfault.com/questions/55880/moving-an-already-running-process-to-screen
donne une opinion alternative sur cette question, la réponse supérieure suggère D'utiliser Reptyr.