Fakt 10: Prozesse finden und beenden
Einer der Gründe, warum sich ein Administrator eine Übersicht über die auf dem System aktiven Prozesse verschaffen möchte, kann darin liegen, dass es ein Prozess oder ein Systemdienst nicht mehr richtig funktioniert oder sich in einer Endlosschleife befindet und somit den Prozessraum und auch den Hauptspeicher unnötig belastet. Es gilt also den entsprechende Prozess beziehungsweise das Programm zu finden und es aus dem System zu entfernen. Wenn der Administrator weiß, um welches Programm es sich handelt so kann er das Linux-Programm "grep" im Zusammenhang mit dem sogenannten Pipe-Mechanismus der Linux-System einsetzen, bei dem die Ausgabe des einen Programmes direkt zu Eingabe des nächsten wird und dort dann auch verarbeitet wird. So listet die folgende Kombination von Befehlen zunächst alle Prozesse auf dem System auf, zeigt sie aber nicht an, sondern leitet sie an das "grep"-Kommando weiter, das diese Liste nach dem String "http" durchsucht und das Ergebnis ausgibt:
ps -aux | grep http
So bekommt der Administrator dann auch die Prozess-ID (PID) des gesuchten Programms angezeigt. Mit dieser PID kann er nun den Prozess direkt abbrechen, indem er ein Signal an ihn sendet. Dazu steht ihm das Kommando mit dem vielsagenden Name "kill" zur Verfügung. Die einfachste Form des Aufrufs besteht einfach darin, das Kommando mit der Prozess-ID aufzurufen:
kill 502
Da keine weiteren Parameter angegeben wurden, wird das System dem Prozess mit der ID 502 das SIGTERM-Signal schicken. Das veranlasst allerdings nicht alle Prozesse zum Abbruch und erweist sich gerade bei Prozessen, die sich aus irgendeinem Grund aufgehängt haben, häufig als nutzlos. Hier hilft dann nur noch der ultimative "kill"-Befehl mittels des Signals -9 für SIGKILL, der direkt vom Linux-Kernel wahrgenommen wird und nicht vom Prozess abgefangen werden kann.
kill -9 502
Natürlich kann ein Nutzer nur die Prozesse mit dem "kill"-Befehl beenden, die mit seiner UID aktiv sind. Der Superuser steht auch hier wieder über allen Dingen und kann alle Prozesse beenden. Das geht so weit, dass er auf diese Art auch Systemdienste beenden und damit das gesamte Linux-System zum Absturz bringen könnte.