J'ai accidentellement "arrêté" mon processus telnet
. Maintenant, je ne peux ni "revenir en arrière", ni le tuer (il ne répondra pas à kill 92929
, où 92929 est l'ID de processus.)
Donc, ma question est, si vous avez un processus arrêté sur la ligne de commande linux, comment y revenir ou le tuer sans avoir à recourir à kill -9
?
Le moyen le plus simple est d'exécuter fg
pour le mettre au premier plan:
$ help fg
fg: fg [job_spec]
Move job to the foreground.
Place the job identified by JOB_SPEC in the foreground, making it the
current job. If JOB_SPEC is not present, the Shell's notion of the
current job is used.
Exit Status:
Status of command placed in foreground, or failure if an error occurs.
Alternativement, vous pouvez exécuter bg
pour qu'il continue en arrière-plan:
$ help bg
bg: bg [job_spec ...]
Move jobs to the background.
Place the jobs identified by each JOB_SPEC in the background, as if they
had been started with `&'. If JOB_SPEC is not present, the Shell's notion
of the current job is used.
Exit Status:
Returns success unless job control is not enabled or an error occurs.
Si vous venez de frapper CtrlZ, puis pour ramener le travail, exécutez simplement fg
sans argument.
Vous pouvez utiliser jobs
pour répertorier le processus suspendu. Prenons l'exemple. Commencez par un processus:
$ sleep 3000
Ensuite, vous suspendez le processus:
^Z
[1]+ Stopped sleep 3000
Vous pouvez lister le processus:
$ jobs
[1]+ Stopped sleep 3000
et le ramener au premier plan:
$ fg %1
sleep 3000
Le %1
correspond à [1]
répertorié avec la commande jobs
.
Vous devriez pouvoir redémarrer un processus suspendu en utilisant la commande kill
pour envoyer au processus le signal CONTINUE, à partir de la ligne de commande, ainsi:
kill -CONT 92929