Home / LinuxUser / 2006 / 03 / Prozess beobachten und beenden auf der Kommandozeile

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

KDE Plasma Workspaces 4.8
(306 Punkte bei 32 Stimmen)
SUSE12
(173 Punkte bei 4 Stimmen)
Pardus Linux am Ende?
(164 Punkte bei 4 Stimmen)
OpenSuse 12.1-Service Kit 01/12
(161 Punkte bei 4 Stimmen)
Meinst Du: Patch CD Updates?
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Volle Kontrolle

Prozess beobachten und beenden auf der Kommandozeile

01.03.2006 Zahlreiche Prozesse tummeln sich auf einem Linux-System: Dieser Artikel bringt Licht ins Prozessdunkel, zeigt, wie Sie Tasks anhalten, fortsetzen oder beenden und verrät, wie Sie Überbleibsel von abgestürzten Programmen ins Jenseits befördern.

Womit ist das Linux-System eigentlich gerade beschäftigt? Welche Programme und Prozesse laufen im Hintergrund? Welche Anwendung greift auf das CD-ROM-Laufwerk zu? Und wie beenden Sie einen Prozess mit Nachdruck, wenn dieser freiwillig nicht gehen will? Antworten auf diese und weitere Fragen bieten die Kommandos, die dieser Artikel vorstellt.

Prozesse mit Ps auflisten

Mit dem Programm Ps geben Sie eine Liste der laufenden Prozesse aus. Ohne weitere Angaben präsentiert das Kommando nur die Anwendungen, welche in der aktuellen Shell laufen. Darf's ein bisschen mehr Information sein, greifen Sie zu den zahlreichen Optionen des Tools. Wie die Manpage verrät, versteht Ps sowohl Unix-Parameter mit einfachem Bindestrich, BSD-Optionen ohne Bindestrich und GNU-Optionen mit zwei Bindestrichen.

Welche Variante Sie wählen, bleibt Geschmackssache; dieser Artikel konzentriert sich auf die tippfaule Variante ohne vorangestellte Minuszeichen. Um beispielsweise alle eigenen Prozesse auszugeben, verwenden Sie die Option x (Listing 1).

Listing 1

$ ps x
 PID TTY   STAT   TIME COMMAND
3705 ?     Ss     0:00 /bin/sh /usr/bin/startkde
3763 ?     Ss     0:00 /usr/bin/ssh-agent /usr/bin/startkde
3789 ?     Ss     0:00 kdeinit Running…
3792 ?     S      0:00 kdeinit: dcopserver --nosid
3794 ?     S      0:00 kdeinit: klauncher
…

Gut sortiert präsentiert das Ps-Kommando, welche Tasks unter Ihrer eigenen Benutzerkennung laufen. Dabei sortiert der Befehl die Ausgabe nach Process Identifier, die eindeutige Prozessnummer (PID), Nummer des Terminals oder der virtuellen Konsole (TTY), Zustand des Prozesses (STAT), verbrauchte Rechenzeit (TIME) und Befehlsname inklusive Parameter (COMMAND).

Im Feld STAT zeigt Ps meistens einen der folgenden Zustände an:

  • S: schlafend, dass heißt, das Programm hat gerade nichts zu tun
  • R: laufend
  • D: Prozess ist tot und nicht mehr wiederbelebbar
  • Z: Zombie, d. h. ein Prozess, der zwar abgelaufen ist, seinen Rückgabestatus aber nicht richtig übergeben hat

Wer nicht nur die eigenen Prozesse, sondern auch die Tasks der anderen Benutzer auf dem System sehen möchte, verwendet die Option a. Da in dieser langen Liste nicht zu erkennen ist, unter welcher Benutzerkennung die einzelnen Programme laufen, setzen Sie zusätzlich u ein, um den Eigentümer und die Rechenzeit und den Speicheranteil anzuzeigen (Listing 2).

Listing 2

$ ps aux
USER    PID %CPU %MEM   VSZ  RSS TTY   STAT START  TIME COMMAND
root      1  0.0  0.0  1504  512 ?     S    08:31  0:00 init [2]
…
huhnix 3705  0.0  0.2  2748 1296 ?     Ss   08:33  0:00 /bin/sh /usr/bin/startkde
…

Verwandtschaftsverhältnisse

Prozesse starten in einigen Fällen ihrerseits weitere Prozesse; der erste Prozess, der nach dem Booten losrennt, heißt immer init. Von diesem Elternprozess (parent process) ausgehend, leiten sich weitere Tasks ab; die Kinder (child processes) dürfen wiederum Prozesse starten und so weiter. Den Grad der Verwandtschaft zeigt Ihnen die Option l an; Ps blendet nun eine weitere Spalte mit der Parent Process ID (PPID) ein.

Noch übersichtlicher fällt die Struktur mit dem Parameter f, welcher die Hierarchie als ASCII-Bild malt. Alternativ greifen Sie zum Programm Pstree, welches ebenfalls die Verwandtschaftsverhältnisse darstellt (Abbildung 1).

Abbildung 1: Die Befehle ps f und pstree im Vergleich – wer sieht den Wald vor lauten Bäumen noch?

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

1393 Hits
Wertung: 0 Punkte (2 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

title_2012_02

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Knoppix: Bootvorgang mit Cheatcode beschleunigen
Knoppix: Bootvorgang mit Cheatcode beschleunigen
Marcel Hilzinger, 18.01.2012 21:05, 0 Kommentare

Die Bootsequenz der Live-Distribution sucht beim Start zunächst auf Festplatten, dann auf USB-Sticks und erst dann in den DVD-Laufwerken (/dev/sr* oder /dev/scd*) nac...

Aktuelle Fragen

OpenSuse 12.1-Service Kit 01/12
Christoph-J. Walter, 28.01.2012 08:52, 2 Antworten
Hallo Gemeinde, ich habe 12.1 neu installiert. Alles in Ordnung! Nun möchte ich das Service Kit (...
Ubuntu 11.10 konfigurieren
Michael Hinz, 27.01.2012 17:52, 0 Antworten
Ubuntu läuft bei mir. Allerdings nur, wenn die Daten-CD eingelegt ist. Unabhängig von Bios-Einste...
SUSE12
Jörg Müller, 25.01.2012 14:27, 5 Antworten
Hallo Gemeinde Ich habe schon ziemlich lange auf einem Rechner Linux laufen, bin also nicht ganz...
Hat jemand Erfahrung beim Einsatz einer Kinect / OpenNI?
GoaSkin , 24.01.2012 23:35, 0 Antworten
Hallo, ich habe mir eine Kinect zugelegt, um zu schauen, was man damit unter Linux so machen k...
Kollaboration - Zeichnen auf mehreren Geräten gleichzeitig
Ludwig jun. B., 19.01.2012 11:17, 4 Antworten
Schönen guten Tag, ich suche aktuell eine Software für Linux/Windows (eines von beiden), welch...