Wenn Sie laufende Prozesse inspizieren, beispielsweise mit dem Befehl ps aux, werden Sie eine STAT-Spalte bemerken. Das Verständnis der Codes in dieser Spalte ist der Schlüssel zur Beherrschung der Prozessverwaltung. Jeder Code repräsentiert einen spezifischen linux process state (Linux-Prozesszustand).
ps aux
Ein process state in Linux (Prozesszustand unter Linux) liefert eine Momentaufnahme dessen, was ein Prozess gerade tut. Nutzt er aktiv die CPU, wartet er auf Eingaben oder wurde er beendet? Lassen Sie uns die häufigsten Zustände untersuchen, denen Sie begegnen werden.
Dekodierung gängiger Prozesszustandscodes
Die STAT-Spalte zeigt den aktuellen linux process state (Linux-Prozesszustand). Obwohl es viele mögliche Zustände gibt, sind die folgenden diejenigen, die Sie am häufigsten sehen werden. Diese linux process states explained (erklärten Linux-Prozesszustände) helfen Ihnen bei der Diagnose des Systemverhaltens.
-
R (Running or Runnable): Ein Prozess in diesem Zustand führt entweder aktiv auf einem CPU-Kern aus oder befindet sich in der Warteschlange (Run Queue) und ist bereit zur Ausführung, sobald ein CPU-Kern verfügbar wird.
-
S (Interruptible Sleep): Dies ist einer der häufigsten process states in Linux (Prozesszustände unter Linux). Der Prozess wartet auf den Abschluss eines Ereignisses, wie z. B. Benutzereingaben vom Terminal oder das Eintreffen eines Netzwerkpakets. Er ist „unterbrechbar“ (interruptible), was bedeutet, dass er durch Signale geweckt werden kann.
-
D (Uninterruptible Sleep): Dieser Prozess schläft ebenfalls, befindet sich jedoch in einem Zustand, in dem er nicht durch ein Signal unterbrochen werden kann. Dies wird typischerweise für kurze Zeiträume bei E/A-Operationen verwendet, da eine Unterbrechung des Prozesses zu einem beschädigten Zustand führen könnte. Bleibt ein Prozess lange in diesem Zustand, kann dies auf ein Problem mit der Hardware oder einem Treiber hindeuten.
-
Z (Zombie): Ein Zombie-Prozess hat seine Ausführung beendet, besitzt aber immer noch einen Eintrag in der Prozesstabelle. Er wartet darauf, dass sein Elternprozess seinen Exit-Status ausliest. Einige Zombies sind normal, aber eine große Anzahl kann auf einen Fehler in der Elternanwendung hinweisen.
-
T (Stopped): Ein Prozess wechselt in diesen Zustand, wenn er durch ein Job-Control-Signal (wie das Drücken von
Ctrl+Z) angehalten oder weil er von einem Debugger verfolgt wird. Er kann mit dem SignalSIGCONTfortgesetzt werden.
Durch das Verständnis dieser grundlegenden linux process states (Linux-Prozesszustände) können Sie tiefere Einblicke in die Aktivität Ihres Systems gewinnen und laufende Anwendungen effektiver verwalten.