Aufmacher

Viel zu tun

Prozess- und Job-Kontrolle

01.07.2008
Was ist los auf dem Linux-Rechner? Verschiedene Shell-Kommandos verraten etwas über die Prozesse des Systems und helfen bei der Steuerung.

Immer, wenn Sie (oder eine Anwendung) ein Programm aufrufen, startet das Betriebssystem einen oder mehrere Prozesse. Diese durchleben verschiedene Zustände: Sie können verarbeitet, angehalten, wieder reaktiviert und in der Regel auch beendet werden. Linux bietet für Prozesse eine Art Zugangsbeschränkung: Sie anhalten, fortsetzen oder beenden darf immer nur der Benutzer, der sie gestartet hat. Eine Ausnahme macht der Benutzer root: Er darf alle Prozesse eines Systems steuern. Darüber hinaus gibt es Prozesse, die unter einer Kennung eines so genannten Systembenutzers, wie nobody oder lp, laufen – auch auf diese hat nur root vollen Zugriff. Diese Zu-Befehl-Folge zeigt Tools, mit denen Sie mehr über Prozesse herausfinden und diese steuern.

Eine große Familie

Prozesse sind nicht alleine, sondern befinden sich immer in guter Gesellschaft. Tatsächlich handelt es sich um eine hierarchische Struktur: Ganz oben steht init mit der Prozessnummer 1; es handelt sich um den ersten Prozess, den Linux nach dem Booten startet. Von diesem "Vorfahren" stammen alle weiteren Prozesse ab – init startet die elementaren Programme des Betriebssystems. Den Zusammenhang zwischen "Eltern" und "Kindern" zeigt das Programm pstree. In dieser Baumstruktur erkennen Sie auf einen Blick, wer von wem abstammt (Abbildung 1).

Abbildung 1: Pstree zeigt auf der Shell die Verwandtschaftsverhältnisse. Vom ersten Prozess des Systems ( init) stammen alle weiteren Prozesse ab.

Noch ausführlicher gestaltet das Tool seine Ausgabe, wenn Sie die Option -a beim Start mit übergeben. Jetzt zeigt Pstree zusätzlich die Parameter, mit denen die Programme laufen. Verwenden Sie ein Terminal wie das Gnome-Terminal oder die KDE-Konsole, das verschiedene Fonts (und auch die Darstellung in Fettschrift) anbietet, probieren Sie doch mal den Parameter -h: Pstree setzt nun ein Highlight für seinen eigenen Prozess und die Vorfahren. Möchten Sie das praktische Feature auch gerne für andere Prozesse nutzen, verwenden Sie -H zusammen mit der Prozessnummer, und Pstree hebt den angegebenen Prozess und seine Verwandten hervor. Die Prozessnummer (PID) verrät Pstree über die Option -p und den Benutzer über -u. Alle Parameter dürfen Sie auch kombinieren, wie etwa zu pstree -apu.

Prozesse auflisten mit Ps

Eine Liste aller gerade auf dem System laufenden Prozesse zeigt das Kommando ps an. Ohne weitere Parameter beschränkt sich das Tool auf die Prozesse der aktuellen Shell. Wer sich für alle eigenen Prozesse interessiert, ruft ps zusammen mit der Option x auf (Listing 1). Die tabellarische Ausgabe in der Shell gibt Auskunft zu den folgenden Eigenschaften:

  • PID: Die Prozessnummer ("process identifier"), eine eindeutige Nummer, über die Sie einen Prozess gezielt ansprechen.
  • TTY: Das Terminal oder Konsole, aus der der Prozess heraus gestartet wurde (ein Fragezeichen bedeutet, dass der Prozess nicht in einem Terminal läuft)
  • STAT: Der Status des Prozesses. Hier tauchen beispielsweise die Zustände S ("sleeping" = "schlafend"), R ("running" = läuft gerade), D ("dead" = Prozess ist nicht mehr wieder aufzuwecken) oder Z ("zombie" = ein abgelaufener Prozess, der seinen Rückgabestatus nicht mehr richtig übergeben konnte) auf.
  • TIME: Die verbrauchte Rechenzeit.
  • COMMAND: Der vollständige Befehl mit allen Aufrufparametern.
Listing 1
$ ps x
  PID TTY      STAT   TIME COMMAND
 3011 ?        Ss     0:00 /usr/bin/gnome-session
 3061 ?        S      0:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/gnome-session
[…]
 3086 ?        Ssl    0:02 gnome-panel --sm-client-id default1
 3088 ?        Ssl    0:02 nautilus --no-default-window --sm-client-id default2

Für ps stehen jede Menge weitere Optionen zur Verfügung, mit denen Sie die Ausgabe noch informativer gestalten. So zeigt u zusätzlich den Eigentümer und die Rechenzeit beziehungsweise den Speicheranteil an; a blendet hingegen eine Liste aller Prozesse sämtlicher Benutzer ein. Ebenfalls praktisch ist l: In dieser langen Ausgabe sehen Sie zusätzliche Infos, unter anderem zur PPID ("parent process identifier"), also zum "Elternprozess", und zur UID, also zur User Identification des aufrufenden Benutzers. Um die teilweise recht langen Aufrufparameter der Spalte COMMAND vollständig anzuzeigen, setzen Sie w ein – die Option verlängert die Ausgabe und darf auch mehrfach verwendet werden. Alle Parameter kombinieren Sie nach Lust und Laune, wie beispielsweise in Abbildung 2 zu sehen.

Abbildung 2: Das Kommando ps zeigt, was auf dem Rechner los ist.

TIPP

In der Spalte COMMAND zeigt ps den vollständigen Befehlsaufruf an. Einige Programme, wie etwa der Downloadmanager wget, nehmen auf der Shell optional schon Passwörter zur Authentifizierung entgegen. Auch dieses Kennwort taucht in der Prozessliste als Kommando auf – so kann theoretisch jeder Benutzer des Systems sensible Daten ausspionieren.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Prozesse anhalten und beenden mit kill
    Ein Linux-System bietet komfortable GUI-Tools für fast alle Zwecke. Schneller und direkter läuft die Kommunikation über die Shell. Was auf den ersten Blick kryptisch ausschaut, gerät schnell zum gewohnten Handwerkszeug. Die Reihe "Gast in der Shell" hilft mit Tipps in loser Folge beim Einstieg.
  • Zu Befehl: ps, pstree, lsof, kill
    Linux als multitasking-fähiges System besitzt eine leistungsfähige Prozessverwaltung – durch geschickte Ressourcenaufteilung scheinen Programme nicht nur gleichzeitig abzulaufen, es ist auch wesentlich leichter, sich von Prozessen zu trennen, die Probleme verursachen. Wir stellen Kommandos vor, mit denen Sie kurzen Prozess machen.
  • Zu Befehl
    Auch wenn sich viele Dinge bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen – wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Abgesehen davon gibt es auch sonst viele Situationen, wo es gut ist, sich im Befehlszeilendschungel ein wenig auszukennen.
  • Prozess beobachten und beenden auf der Kommandozeile
    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.
  • Präzise Kontrolle
    Auf einem typischen Linux-System laufen viele Anwendungen und Dienste gleichzeitig. Mit den richtigen Befehlen verschaffen Sie sich einen Überblick und greifend steuernd ein.
Kommentare

Infos zur Publikation

LU 12/2014: ANONYM & SICHER

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 4 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...
Brother Drucker MFC-7420
helmut berger, 11.11.2014 12:40, 1 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu 14.04-Nutzer...
Treiber für Drucker brother MFC-7420
helmut berger, 10.11.2014 16:05, 2 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu12.14-Nutzer u...
Can't find X includes.
Roland Welcker, 05.11.2014 14:39, 1 Antworten
Diese Meldung erhalte ich beim Versuch, kdar zu installieren. OpenSuse 12.3. Gruß an alle Linuxf...
DVDs über einen geeigneten DLNA-Server schauen
GoaSkin , 03.11.2014 17:19, 0 Antworten
Mein DVD-Player wird fast nie genutzt. Darum möchte ich ihn eigentlich gerne abbauen. Dennoch wür...