10
votes

Comment reprendre le travail arrêté sur une machine distante donnée PID?

J'ai un processus sur une machine que j'ai arrêtée (avec une Ctrl-Z). Après Ssh'ing sur la machine, comment puis-je reprendre le processus?


1 commentaires

Pour clarifier la question, vous pouvez noter que vous essayez de le faire à partir d'une coquille différent , et que vous n'avez pas d'accès de style de bureau à distance, etc.


3 Réponses :



12
votes

Vous aurez besoin de trouver le PID, puis d'émettre tuer -cont .

Vous pouvez trouver le PID en utilisant PS avec certaines options pour produire une sortie étendue. Arrêté les travaux ont un t dans la section (ou s ).

Si vous réussissez à poursuivre le processus, mais cela n'a plus de terminal de contrôle (et il en a besoin), il pourrait éventuellement suspendre ou entrer dans une boucle: gardez votre œil sur son usage de la CPU.


2 commentaires

Ceci ( tuer -cont ... ) est le bon tour en général, mais méfiez-vous de deux autres choses: (1) Cela confondra légèrement sa coque mère (appelons ceci p pour le parent), qui ne fait aucun avis que le processus (appelons-le t , pour arrêté) a été poursuivi si p pense t est toujours arrêté. (2) Si le processus t est toujours attaché à son terminal de contrôle et essaie de faire certaines "TTY OPS", la coque n'aura pas transféré le terminal < / i> 's contrôle des informations sur le groupe et t arrêtera immédiatement avec sigttin ou sigttou .


À ce stade, il est probablement une bonne idée de mentionner écran ou tmux .



3
votes

Pour savoir que Job-ID et PID, utilisez "Emplois -L", comme ceci:

$ jobs -l
[1]+  3729 Stopped                 vim clustertst.cpp


0 commentaires