it-swarm.com.de

Wie beendet man einen Nohup-Prozess?

Ich habe den folgenden Befehl ausgeführt

$ Nohup ./tests.run.pl 0 &

jetzt, wenn ich versuche, es zu töten (und die Ausführungen, die mit diesem Skript gestartet werden) mit 

$ kill -0 <process_id>

es funktioniert nicht. Wie kann ich einen nicht unterstützten Prozess und die Prozesse beenden, die über das nicht unterstützte Skript ausgeführt werden?

Vielen Dank

30
polerto

kill -0 macht nicht beendet den Prozess. Es wird nur geprüft, ob Sie ein Signal senden können.

Einfach kill pid und wenn dies nicht funktioniert, versuchen Sie kill -9 pid.

40
Mat

Einfach kill <pid> wird eine SIGTERM gesendet, die Nohup nicht ignoriert.

Sie sollten nicht zuerst eine SIGKILL senden, da dies dem Prozess keine Chance zur Wiederherstellung gibt. Sie sollten Folgendes in der Reihenfolge versuchen:

  • SIGTERM (15)
  • SIGINT (2)
  • SIGKILL (9)
25
trojanfoe

Ich würde so etwas machen:

jobs

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

kill %1
4
user7321649

Wenn Sie die Prozess-IDs nicht kennen und möglicherweise verschiedene Befehle in einer Shell (oder einer Schleife) ausführen, können Sie jobs -l ausführen, um Jobs und PIDs aufzulisten, und dann kill.

Siehe Beispiel:

[email protected]:/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 &
[email protected]:/usr/share/etlservice/bin$ Sudo kill 27398
Sudo kill 27474[1]   Terminated              Nohup ./extract_assessor_01.sh > job1.log
[email protected]:/usr/share/etlservice/bin$ Sudo kill 27474
[2]   Terminated              Nohup ./extract_assessor_02.sh > job2.log
[email protected]:/usr/share/etlservice/bin$ Sudo kill 27478
[3]   Terminated              Nohup ./extract_assessor_03.sh > job3.log
[email protected]:/usr/share/etlservice/bin$ Sudo kill 27481
[4]-  Terminated              Nohup ./extract_assessor_04.sh > job4.log
[email protected]:/usr/share/etlservice/bin$ Sudo kill 28664
[5]+  Terminated              Nohup ./extract_assessor_01.sh > job1.log
[email protected]:/usr/share/etlservice/bin$
3
Mike S.

prozess Nohup beenden 

ps aux |grep Nohup

grep dass PIDkill -15 -1 16000 (meldet Sie ab) und bereinigt den nächsten Login-Stamm

0
san shrestha