Comment tuer un processus nohup?
j'ai exécuté la commande suivante
$ nohup ./tests.run.pl 0 &
maintenant quand j'essaie de le tuer (et les exécutions qui sont commencées à partir de ce script) en utilisant
$ kill -0 <process_id>
ça ne marche pas. Comment puis-je tuer un processus nohupped et les processus qui s'exécutent via le script nohupped?
Merci
5 réponses
kill -0
tuer le processus. Il vérifie juste si vous pouviez envoyer un signal.
tout simplement kill pid
, et si cela ne fonctionne pas, essayez kill -9 pid
.
tout simplement kill <pid>
qui enverra un SIGTERM
nohup
ne pas ignorer.
vous ne devez pas envoyer un SIGKILL
tout d'abord car cela ne donne aucune chance au processus de récupérer; vous devriez essayer ce qui suit, dans l'ordre:
SIGTERM
(15)SIGINT
(2)SIGKILL
(9)
je voudrais faire quelque chose comme:
jobs
[1] + Running nohup ./tests.run.pl
kill %1
Si vous ne connaissez pas l'id de processus et il peut exécuter diverses commandes dans un shell (ou une boucle), vous pouvez exécuter jobs -l
pour la liste des emplois et des PIDs, puis kill
.
Voir l'exemple:
ubuntu@app2:/usr/share/etlservice/bin$ jobs -l
[1] 27398 Running nohup ./extract_assessor_01.sh > job1.log &
[2] 27474 Running nohup ./extract_assessor_02.sh > job2.log &
[3] 27478 Running nohup ./extract_assessor_03.sh > job3.log &
[4]- 27481 Running nohup ./extract_assessor_04.sh > job4.log &
[5]+ 28664 Running nohup ./extract_assessor_01.sh > job1.log &
ubuntu@app2:/usr/share/etlservice/bin$ sudo kill 27398
sudo kill 27474[1] Terminated nohup ./extract_assessor_01.sh > job1.log
ubuntu@app2:/usr/share/etlservice/bin$ sudo kill 27474
[2] Terminated nohup ./extract_assessor_02.sh > job2.log
ubuntu@app2:/usr/share/etlservice/bin$ sudo kill 27478
[3] Terminated nohup ./extract_assessor_03.sh > job3.log
ubuntu@app2:/usr/share/etlservice/bin$ sudo kill 27481
[4]- Terminated nohup ./extract_assessor_04.sh > job4.log
ubuntu@app2:/usr/share/etlservice/bin$ sudo kill 28664
[5]+ Terminated nohup ./extract_assessor_01.sh > job1.log
ubuntu@app2:/usr/share/etlservice/bin$
kill nohup
processus
ps aux |grep nohup
grep PID
kill -15 -1 16000
(va vous déconnecter) et nettoyer sur la prochaine connexion root