“parado” pertence ao estado “bloqueado”?

0

A página de manual de ps diz

PROCESS STATE CODES
   R  running or runnable (on run queue)
   D  uninterruptible sleep (usually IO)
   S  interruptible sleep (waiting for an event to complete)
   Z  defunct/zombie, terminated but not reaped by its parent
   T  stopped, either by a job control signal or because
      it is being traced

O link da não menciona os estados D, S e T, pelo menos explicitamente.

Do D, S e T pertencem ao estado pronto, estado bloqueado ou algum outro estado?

    
por Tim 02.09.2014 / 20:53

1 resposta

2

Eu não sei o que você quer dizer com estado "bloqueado", porque não existe um estado chamado "bloqueado" na arquitetura linux. Mas posso explicar o que significa esse estado:

Se você executar um comando no shell, suponha sleep 100 , ele primeiro fica no estado R . Está funcionando, mas não muito longo, apenas algumas fatias de tempo de CPU. Algumas vezes entre ele estará no estado de suspensão ininterrupta D , porque está aguardando o disco rígido. Em seguida, ele entra no estado de suspensão interrompível S .

Se você pressionar ctrl + z , enviará SIGSTOP para o processo. Então o processo fica no estado parado T . Ele permanecerá nesse estado até que o sinal SIGCONT seja enviado. Nesse estado, o processo não terá tempo de CPU.

Quando o processo está saindo, ele entra no estado zumbi Z até que o processo pai chame waitpid() , então o kernel remove o pid.

    
por 03.09.2014 / 08:31

Tags