Vous pouvez utiliser la commande man top
pour rechercher les états :
D = uninterruptible sleep
I = idle
R = running
S = sleeping
T = stopped by job control signal
t = stopped by debugger during trace
Z = zombie
La page de manuel indique à quoi les codes d'état sont mappés, mais pas ce qu'ils signifient réellement. A partir du top
page de manuel :
'D' = uninterruptible sleep
'R' = running
'S' = sleeping
'T' = traced or stopped
'Z' = zombie
'R' est le plus simple; le processus est prêt à être exécuté et s'exécutera chaque fois que viendra son tour d'utiliser le processeur.
'S' et 'D' sont deux états de veille, où le processus attend que quelque chose se produise. La différence est que 'S' peut être interrompu par un signal, alors que 'D' ne le peut pas (cela se voit généralement lorsque le processus attend le disque).
'T' est un état où le processus est arrêté, généralement via SIGSTOP
ou SIGTSTP
. Il peut également être arrêté par un débogueur (ptrace
). Lorsque vous voyez cet état, c'est généralement parce que vous avez utilisé Ctrl + Z pour mettre une commande en arrière-plan.
'Z' est un état où le processus est mort (il a terminé son exécution), et la seule chose qui reste est la structure qui le décrit sur le noyau. Il attend que son processus parent récupère son code de sortie, et pas beaucoup plus. Une fois que son processus parent en aura terminé avec lui, il disparaîtra.