Os códigos de status do processo Linux são códigos de caracteres únicos que representam o estado de um processo. Esses códigos são normalmente encontrados no campo `stat` do arquivo`/proc/[pid]/stat`, e também exibidos por comandos como `ps`. Embora o significado exato possa variar sutilmente entre as versões do kernel, essas são as mais comuns:
*
D (sono ininterrupto): O processo é ininterrupto e aguarda a conclusão de uma operação de E/S. Geralmente, esta é uma operação no nível do kernel e não pode ser interrompida por sinais.
*
r (em execução ou executável): O processo está em execução atualmente em uma CPU ou está pronto para ser executado e aguardando sua vez. Este é o estado ativo.
*
s (Sleeping): O processo está dormindo, esperando que um evento ocorra, como um sinal ou operação de E/S. Este sono é interrompido por sinais.
*
t (parado): O processo é interrompido, geralmente devido a um sinal como o `sigstop`. Não está funcionando e pode ser retomado com o `sigcont`.
*
t (parada de rastreamento): Semelhante a T, mas especificamente parou para fins de rastreamento por um depurador ou ferramenta semelhante.
*
z (zumbi): O processo terminou de executar, mas seu processo pai ainda não esperou a conclusão. Ele permanece na tabela de processos como um processo mínimo de "zumbi" para transmitir seu status de saída para seus pais.
*
x (morto): O processo não está mais presente no sistema (um processo extinto).
Outros estados menos comuns: *
<(alta prioridade): Indica um processo com prioridade superior ao normal.
*
n (baixa prioridade): Indica um processo com prioridade inferior ao normal.
*
l (multi-thread): Isso indica que o processo é um processo multithread.
*
s (líder da sessão): Isso indica que o processo é o líder de uma sessão.
Interpretando o status: O código de status fornece um instantâneo da atividade atual do processo. Um processo pode fazer a transição entre vários desses estados ao longo de sua vida. Para obter informações detalhadas, examine o arquivo `/proc/[pid]/stat`, onde o segundo campo contém esse caractere de status e o restante do arquivo contém uma riqueza de informações adicionais do processo.
É crucial lembrar que essas são *explicações simplificadas *. O comportamento real pode ser um pouco mais sutil, e as versões do kernel podem alterar sutilmente o significado. Sempre consulte a documentação do seu kernel para obter as definições mais precisas.