Sie können den Befehl man top
verwenden um die Zustände nachzuschlagen:
D = uninterruptible sleep
I = idle
R = running
S = sleeping
T = stopped by job control signal
t = stopped by debugger during trace
Z = zombie
Die Manpage sagt, was die Zustandscodes zugeordnet sind, aber nicht, was sie tatsächlich bedeuten. Von der top
Manpage:
'D' = uninterruptible sleep
'R' = running
'S' = sleeping
'T' = traced or stopped
'Z' = zombie
'R' ist am einfachsten; der Prozess ist betriebsbereit und wird ausgeführt, wann immer er an der Reihe ist, die CPU zu verwenden.
„S“ und „D“ sind zwei Schlafzustände, in denen der Prozess darauf wartet, dass etwas passiert. Der Unterschied besteht darin, dass 'S' durch ein Signal unterbrochen werden kann, während 'D' dies nicht kann (es wird normalerweise gesehen, wenn der Prozess auf die Festplatte wartet).
'T' ist ein Zustand, in dem der Prozess gestoppt wird, normalerweise über SIGSTOP
oder SIGTSTP
. Es kann auch durch einen Debugger gestoppt werden (ptrace
). Wenn Sie diesen Zustand sehen, liegt das normalerweise daran, dass Sie Ctrl verwendet haben + Z um einen Befehl in den Hintergrund zu stellen.
'Z' ist ein Zustand, in dem der Prozess tot ist (er seine Ausführung beendet hat) und das einzige, was übrig bleibt, die Struktur ist, die ihn auf dem Kernel beschreibt. Es wartet darauf, dass sein übergeordneter Prozess seinen Exit-Code abruft, und nicht viel mehr. Nachdem der übergeordnete Prozess damit fertig ist, verschwindet er.