Sofern sich ein Programm oder ein Prozess eines Programmes, nicht mehr ansprechen lässt, hilft der
kill-Befehl weiter. Dabei wird der aufgehängte Prozess von kill terminiert.
Man sollte kill wirklich erst dann einsetzen, wenn man den störenden Prozess nicht mehr
anders beenden kann und auch erst dann, wenn er sich wirklich aufgehängt hat - und nicht länger
läuft ohne eine Ausgabe am Bildschirm zu melden (z.B. cdrecord ohne den Parameter -v (ausführlich)
lässt den Bildschirm minutenlang unverändert, obwohl es regulär läuft; ein kill würde hier
auch den Rohling beschädigen).
Selbstverständlich sollte man auch keine Prozesse terminieren,
die man nicht kennt.
Die für den kill-Befehl erforderliche Prozess-ID erfährt man entweder über
ps oder top.
Im Rahmen der Anwendungsbeispiele wird noch die Möglichkeit von killall angesprochen, wobei es sich um einen eigenen Befehl handelt, der an dieser Stelle mit ausgeführt wird.
Anwendungsschema |
||||
|
Erklärungen und Hinweise zum Anwendungsschema |
||
Befehl: | Der einzugebende Befehl ist selbstversändlich immer der, der gerade besprochen wird. | |
PID: | Steht für Prozess-IDentification-number und ist die Nummer des Prozesses. Man erfährt sie über die Befehle ps oder top, die beide eine Spalte enthalten, die mit PID betitelt ist. Die bei kill einzugebende Nummer muss natürlich dem Prozess entsprechen, den man beenden möchte. |
Optionen und Eingaben |
Anwendungsbeispiele |
|
kill 1234 | |
terminiert (kill) den Prozess mit der PID 1234 | |
killall -9 prog01 | |
terminiert alle Prozesse (killall -9), welche vom Programm prog01 gestartet
wurden Der Befehl killall -9 beendet alle Prozesse, welche von einem bestimmten Programm (im Beispiel prog01) gestartet wurden. Für gewöhnlich reicht es aus, den Hauptprozess zu beenden, um alle weiteren Prozesse desselben Programmes zu beenden. Hat aber ein Programm nun mehrere Prozesse gestartet und man ist sich nicht sicher welches der Hauptprozess ist, kann man killall -9 einsetzen. |