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 01/2015: E-Books im Griff

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

PCLinuxOS Version 2014.08 "FullMonty" Umstellung auf deutsch
Karl-Heinz Welz, 19.12.2014 09:55, 3 Antworten
Hallo, liebe Community, ich bin 63 Jahre alt und möchte jetzt nach Jahrzehnten Windows zu Linux...
ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.