A top
manpage fornece a resposta (no "Status do processo" descrição):
w: S -- Process Status
The status of the task which can be one of:
- ’D’ = uninterruptible sleep
- ’R’ = running
- ’S’ = sleeping
- ’T’ = traced or stopped
’Z’ = zombie
Tasks shown as running should be more properly thought of as ’ready to run’ -- their task_struct is simply represented on the Linux run-queue. Even without a true SMP machine, you may see numerous tasks in this state depending on top’s delay interval and nice value.
Os processos que estão prontos para serem executados aparecem como R
. Processos verdadeiramente ociosos, isto é, processos que não estão bloqueados aguardando E / S (normalmente) aparecem como S
; processos aguardando E / S aparecem como D
. (Isso não é exaustivo, algumas outras esperas aparecem como D
também.)
Não sei como diferenciar os processos em execução e prontos para executar processos.
Estritamente falando, o tipo de sono se relaciona com a possível entrega de sinais: se um processo não está em execução ou parado, ele está dormindo; Se um sinal puder ser enviado imediatamente, é um sono "padrão", caso contrário, é um sono ininterrupto. Consulte o link para obter mais detalhes.