
Ich habe immer Probleme, Programme zu beenden. Das ist so frustrierend. Sehen Sie sich das folgende Beispiel an. Ich möchte einfach den Nano-Prozess mit der ID 29409 beenden. Warum funktioniert es nicht, als ich „sudo kill 29409“ eingebe?
$ ps aux | grep 29409
root 29409 0.0 0.0 71248 3980 pts/1 T 00:06 0:00 sudo nano /etc/network/interfaces
computer 29565 0.0 0.0 15948 2236 pts/1 S+ 00:13 0:00 grep --color=auto 29409
pc@pc:~$ sudo kill 29409
pc@pc:~$ ps aux | grep 29409
root 29409 0.0 0.0 71248 3980 pts/1 T 00:06 0:00 sudo nano /etc/network/interfaces
Antwort1
Sie müssen ein Kill-Signal sendenSIGKILLmit einem Wert von 9, der den Prozess mit einer bestimmten Prozess-ID beendet.
kill -9 PID
Abhängig vom Job müssen Sie ihn möglicherweise mit einem Befehl beenden, wenn es sich um einen Hintergrundjob handelt kill -9 $! PID
.
Alternativ können Sie den top
Befehl „Führen Sie den Top-Befehl aus“ verwenden, der alle Ihre Prozesse auflistet und k
den Prozess dann beendet.
Sie können mithilfe der man
Seiten jederzeit Hilfe erhalten. Mit einem solchen man kill
Befehl erhalten Sie ausführliche Informationen.
Viel Glück!
Antwort2
Ich finde die Verwendung von pkill sinnvoller:
sudo pkill nano
Anstelle einer Prozess-ID geben Sie den Prozessnamen an pkill weiter und es wird versuchen, alle Prozesse zu beenden, die mit diesem übereinstimmen. Wie bei dem kill
Befehl können Sie auch hier ein SIGKILL-Signal anstelle eines SIGTERM-Signals senden, wenn der Prozess sich weigert, ordnungsgemäß zu beenden:
sudo pkill -9 nano