No kernel do Linux, cada processo é representado por um task_struct
em uma lista duplamente vinculada, cujo cabeçalho é init_task
(pid 0, not pid 1). Isso é comumente conhecido como a tabela de processos .
No modo de usuário, a tabela de processos é visível para usuários normais em /proc
. Tomando os títulos para sua pergunta:
-
Dados de identificação do processo são o ID do processo (que está no caminho
/proc/<process-id>/...
), a linha de comando (cmd
) e possivelmente outros atributos, dependendo da definição de ' identificação '. -
Dados do estado do processo incluem dados de agendamento (
sched
,stat
eschedstat
), em que o processo está aguardando atualmente (wchan
), seu ambiente (environ
) etc. -
Dados de controle de processo podem ser considerados como suas credenciais (
uid_map
) e limites de recursos (limits
).
Então, tudo depende de como você define seus termos ... mas, em geral, todos os dados sobre um processo podem ser encontrados em /proc
.