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

27
demandé sur polerto 2011-11-04 13:50:33

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.

37
répondu Mat 2011-11-04 09:52:37

tout simplement kill <pid> qui enverra un SIGTERMnohup 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)
25
répondu trojanfoe 2011-11-04 14:54:17

je voudrais faire quelque chose comme:

jobs

[1] + Running nohup ./tests.run.pl

kill %1
3
répondu user7321649 2016-12-20 15:51:39

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$
2
répondu Mike S. 2016-01-12 03:27:14

kill nohup processus

ps aux |grep nohup

grep PID kill -15 -1 16000 (va vous déconnecter) et nettoyer sur la prochaine connexion root

0
répondu san shrestha 2017-08-12 23:36:08