Aufmacher

Prozess- und Job-Kontrolle

Viel zu tun

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
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ä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
    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.
  • 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.
  • 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.
  • 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.
Kommentare

Infos zur Publikation

LU 12/2016: Neue Desktops

Digitale Ausgabe: Preis € 5,99
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

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

Aktuelle Fragen

Brother Drucker DCP-J4120
Achim Zerrer, 09.12.2016 18:08, 0 Antworten
Hallo, ich wollte unter Leap 42.1 den Brother Drucker installieren und dazu das PPD- Datei vom do...
Drucker Epson XP-332 unter ubuntu 14.04 einrichten
Andrea Wagenblast, 30.11.2016 22:07, 2 Antworten
Hallo, habe vergeblich versucht mein Multifunktionsgerät Epson XP-332 als neuen Drucker unter...
Apricity Gnome unter Win 10 via VirtualBox
André Driesel, 30.11.2016 06:28, 2 Antworten
Halo Leute, ich versuche hier schon seit mehreren Tagen Apricity OS Gnome via VirtualBox zum l...
EYE of Gnome
FRank Schubert, 15.11.2016 20:06, 2 Antworten
Hallo, EOG öffnet Fotos nur in der Größenordnung 4000 × 3000 Pixel. Größere Fotos werden nic...
Kamera mit Notebook koppeln
Karl Spiegel, 12.11.2016 15:02, 2 Antworten
Hi, Fotografen ich werde eine SONY alpha 77ii bekommen, und möchte die LifeView-Möglichkeit nu...