10 Fakten, die Windows-Admins zu Linux wissen sollten

Linux-Rechner zähmen

30.07.2015
Von  und
Frank-Michael Schlede arbeitet seit den achtziger Jahren in der IT und ist seit 1990 als Trainer und Fachjournalist tätig. Nach unterschiedlichen Tätigkeiten als Redakteur und Chefredakteur in verschiedenen Verlagen arbeitet er seit Ende 2009 als freier IT-Journalist für verschiedene Online- und Print-Publikationen. Er lebt und arbeitet in Pfaffenhofen an der Ilm.
Thomas Bär, der seit Ende der neunziger Jahre in der IT tätig ist, bringt weit reichende Erfahrungen bei der Einführung und Umsetzung von IT-Prozessen im Gesundheitswesen mit. Dieses in der Praxis gewonnene Wissen hat er seit Anfang 2000 in zahlreichen Publikationen als Fachjournalist in einer großen Zahl von Artikeln umgesetzt. Er lebt und arbeitet in Günzburg.

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.