Linux: Prozesse anzeigen und beenden

Foto des Autors

Linux ist ein Mulititasking-Betriebssystem, auf dem mehrere Programme gleichzeitig ablaufen. Das sind nicht nur normale Programme wie Textverarbeitung oder Internet-Browser, sondern auch viele andere Prozesse, die im Hintergrund ihren Dienst verrichten. Lesen Sie hier, wie Sie diese Prozesse finden und bei Bedarf beenden.

Linux: Bequem Prozesse abschiessen

Will man unter Linux von der Kommandozeile aus einen bestimmten Prozeß beenden lassen, ist das typischerweise eine zweistufige Tätigkeit: Zuerst mit ps ax herausbekommen, welche Prozeßnummer (PID) er hat und dann mit kill <pid> den Prozeß abschiessen.

Mit allen aktuellen Linux-Varianten geht´s aber viel einfacher. Dort gibt es das Programm killall, das nicht nur beide Schritte zusammenfaßt, sondern dazu auch alle Instanzen des Prozesses auf einmal beendet.

Wollen Sie beispielsweise alle Webserver-Tasks killen, geben Sie einfach ein

killall httpd

Genauso wie kill, kann killall unterschiedliche Signale an die Prozesse senden. Will ein Prozeß beispielsweise nach der standardmäßigen Übermittlung des Signals „TERM“, noch nicht aus dem Speicher verschwinden, kann man ihm mit dem schärfsten Signal, „KILL“ konfrontieren:

killall -KILL httpd

Linux: Prüfen, ob ein bestimmter Prozess aktiv ist

Das Standard-Tool zur Anzeige laufender Prozesse ist ja eigentlich ps. Um damit aber schnell zu erkennen, ob ein Prozess mit

einem bestimmten Namen läuft und wie die Prozess-ID (PID) lautet, müssen Sie ps schon mit grep verketten, das alle nicht zutreffenden Prozesse aus der Antwort ausfiltert.

Mit pgrep ist das dagegen ganz leicht: Einfach den Prozessnamen als

Parameter angeben und es liefert die PIDs aller Prozesse zurück, bei

denen die angegebene Zeichenfolge im Namen vorkommt.

Es gibt noch zwei interessante Zusatzparameter für

pgrep

. So finden Sie zum Beispiel heraus, ob der Beagle-Dämon für den User „peter“ läuft:

pgrep -u peter beagled

Um statt der Prozess-ID den Namen als Antwort zu erhalten, verwenden Sie den Parameter

-l

. So erhalten Sie zum Beispiel die Namen aller aktiver Prozesse, die mit kde zu tun haben:

pgrep -l kde

Linux: Das sind Zombies

Bei der Anzeige aller aktiven Prozesse kann es sein, daß ein Eintrag den Vermerk <Zombie> hat. Obwohl das übel klingt, steckt tatsächlich nichts Schlimmes dahinter.

Ein Zombie wurde von einem anderen Prozeß gestartet. Nach seiner Beendigung hat der „Elternprozeß“ ihn aber nich völlig aus dem Speicher entfernt, so daß er noch in der Liste der Prozesse geführt wird. Darum der Name Zombie: Der Prozeß existiert nur noch scheinbar.

Ein Problem sind Zombies nur in großer Zahl, weil dadurch die Prozeßverwaltung gehemmt wird.

Los wird man die Untoten nur durch einen Neustart.

Foto des Autors

Markus Schraudolph

Markus ist IT-Fachjournalist der ersten Stunde. Seine ersten Texte veröffentlichte er 1987 beim legendären Markt&Technik-Verlag. Seine Spezialität sind Datenbanken und Microsoft Excel. Als PHP-Experte programmierte Markus maßgeblich die erste Version des Tippscout und ist anerkannter Experte für PHP, MySQL und Wordpress.