Prozesszustände
100%

Prozesse · Lektion 9

Prozesszustände

Erfahre, wie du häufige Linux-Prozesszustandscodes in `ps`-Momentaufnahmen interpretierst.

Eine Linux-Aufgabe wechselt während ihrer Ausführung, ihres Wartens, Anhaltens und Beendens zwischen verschiedenen Zuständen. Das Feld STAT von ps erfasst einen einzelnen Augenblick. Bei der Diagnose eines Verhaltens sind wiederholte Beobachtungen daher nützlicher als ein einzelner Buchstabe.

$ ps -o pid,ppid,stat,wchan:24,cmd

Das erste Zeichen in STAT ist der primäre Zustand. Weitere Zeichen sind Modifikatoren, die Eigenschaften wie die Leitung einer Sitzung oder die Mitgliedschaft in einer Vordergrundprozessgruppe beschreiben. Den vollständigen Satz findest du im lokalen ps-Handbuch.

Laufend und unterbrechbarer Schlaf

  • R bedeutet laufend oder ausführungsbereit. Die Aufgabe wird auf einer CPU ausgeführt oder wartet in einer Ausführungswarteschlange auf CPU-Zeit.
  • S bedeutet unterbrechbarer Schlaf. Die Aufgabe wartet auf ein Ereignis und kann durch ein geeignetes Signal oder Ereignis geweckt werden.

Schlafen ist normal. Interaktive Programme und Dienste verbringen einen großen Teil ihrer Zeit damit, auf Eingaben, Zeitgeber, Netzwerkverkehr, Sperren oder andere Ereignisse zu warten, statt fortlaufend CPU zu verbrauchen.

Was bedeutet der primäre Zustand R?

Welcher primäre Zustand steht für unterbrechbaren Schlaf?

Nicht unterbrechbarer Schlaf

D bedeutet nicht unterbrechbarer Schlaf, gewöhnlich während die Aufgabe in einem Kernelvorgang wie bestimmter Speicher- oder Netzwerkdateisystem-E/A wartet. Die Aufgabe reagiert erst auf gewöhnliche Signale, wenn sie diesen Wartezustand verlässt; ein Signal kann währenddessen ausstehend bleiben.

Ein kurzer Zustand D kann normal sein. Dauerhaft oder zahlreich in D befindliche Aufgaben können auf langsame, nicht verfügbare oder fehlerhafte E/A hindeuten, doch der Zustand allein bestimmt nicht die Ursache. Prüfe den Wartekanal, Kernelprotokolle, den Zustand von Speicher und Netzwerk sowie das betreffende Subsystem, bevor du Schlüsse ziehst.

Welcher primäre Zustand steht für nicht unterbrechbaren Schlaf?

Angehaltene und Zombie-Zustände

  • T bedeutet gewöhnlich, dass die Aufgabe durch die Jobsteuerung, etwa mit SIGTSTP, oder durch SIGSTOP angehalten wurde. Einige Werkzeuge verwenden ein kleingeschriebenes t für einen durch Tracing verursachten Stopp.
  • Z bedeutet Zombie: Der Prozess wurde beendet, aber sein Elternprozess hat den Beendigungseintrag noch nicht abgeholt.

Setze einen Jobsteuerungsstopp gegebenenfalls mit SIGCONT fort. Ein Zombie kann weder fortgesetzt noch beendet werden, da er nicht mehr läuft; sein Elternprozess oder ein adoptierender Reaper muss ihn aufräumen.

Was kennzeichnet der primäre Zustand Z?

Zustände im Zusammenhang lesen

Zustandscodes sind Beobachtungen und keine Diagnosen. Kombiniere sie mit verstrichener Zeit, CPU-Nutzung, Wartekanälen, Elternbeziehungen, Protokollen und wiederholten Stichproben. Eine Aufgabe kann ihren Zustand zwischen dem Augenblick, in dem der Kernel ihn meldet, und dem Augenblick, in dem du den Bildschirm liest, wechseln.

Lektion abgeschlossen

Sie haben Prozesszustände abgeschlossen

Du kannst nun die häufigsten primären Prozesszustände interpretieren.

  • Lies R als laufend oder ausführungsbereit und S als unterbrechbaren Schlaf.

  • Untersuche dauerhaftes D als Wartesymptom und nicht als Diagnose.

  • Unterscheide angehaltenes T von beendetem, nicht aufgeräumtem Z.

  • Verwende wiederholte Beobachtungen und umgebende Belege.

Lernfortschritt speichern

Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.

Kostenloses Konto erstellen
Nächste Lektion
Zurück zu Prozesse