web-dev-qa-db-fra.com

Sous Linux, que signifient toutes les valeurs de la commande "top"?

Lorsque vous exécutez "top" et voyez tous les processus en cours, j'ai toujours voulu savoir ce que tout signifie réellement. par exemple. tous les différents codes d'état à lettre unique pour un processus en cours (R = Running, S = Sleeping, etc ...)

Où puis-je trouver ça?

50
Aaron Fi

La page de manuel indique à quoi les codes d'état sont mappés, mais pas ce qu'ils signifient réellement. Depuis la page de manuel supérieure:

'D' = uninterruptible sleep
'R' = running
'S' = sleeping
'T' = traced or stopped
'Z' = zombie

"R" est le plus simple; le processus est prêt à s'exécuter et s'exécutera chaque fois que son tour d'utiliser le processeur viendra.

"S" et "D" sont deux états de sommeil, où le processus attend que quelque chose se produise. La différence est que "S" peut être interrompu par un signal, tandis que "D" ne peut pas (il est généralement vu 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 le décrivant sur le noyau. Il attend que son processus parent récupère son code de sortie, et pas beaucoup plus. Une fois son processus parent terminé, il disparaîtra.

103
CesarB

Vous pouvez utiliser la commande man top

13
SMB