Puedes usar el comando man top
para buscar los estados:
D = uninterruptible sleep
I = idle
R = running
S = sleeping
T = stopped by job control signal
t = stopped by debugger during trace
Z = zombie
La página de manual dice a qué se asignan los códigos de estado, pero no lo que realmente significan. Desde el top
página man:
'D' = uninterruptible sleep
'R' = running
'S' = sleeping
'T' = traced or stopped
'Z' = zombie
'R' es el más fácil; el proceso está listo para ejecutarse y se ejecutará cada vez que llegue su turno para usar la CPU.
'S' y 'D' son dos estados de suspensión, donde el proceso está esperando que suceda algo. La diferencia es que 'S' puede ser interrumpido por una señal, mientras que 'D' no (generalmente se ve cuando el proceso está esperando el disco).
'T' es un estado en el que se detiene el proceso, generalmente a través de SIGSTOP
o SIGTSTP
. También puede ser detenido por un depurador (ptrace
). Cuando ve ese estado, generalmente es porque usó Ctrl + Z para poner un comando en segundo plano.
'Z' es un estado donde el proceso está muerto (ha terminado su ejecución), y lo único que queda es la estructura que lo describe en el kernel. Está esperando que su proceso principal recupere su código de salida y no mucho más. Después de que su proceso principal termine con él, desaparecerá.