ps(1)
, com a -f
opção, produzirá processos para os quais não há linha de comando associada entre colchetes, assim:
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Aug28 ? 00:07:42 /sbin/init
root 2 0 0 Aug28 ? 00:00:01 [kthreadd]
root 3 2 0 Aug28 ? 00:00:00 [rcu_gp]
root 4 2 0 Aug28 ? 00:00:00 [rcu_par_gp]
root 6 2 0 Aug28 ? 00:00:00 [kworker/0:0H-kblockd]
root 8 2 0 Aug28 ? 00:00:00 [mm_percpu_wq]
root 9 2 0 Aug28 ? 00:02:14 [ksoftirqd/0]
root 10 2 0 Aug28 ? 00:05:33 [rcu_preempt]
root 11 2 0 Aug28 ? 00:01:36 [rcuc/0]
root 12 2 0 Aug28 ? 00:00:00 [rcub/0]
root 13 2 0 Aug28 ? 00:00:07 [migration/0]
root 14 2 0 Aug28 ? 00:00:00 [idle_inject/0]
root 16 2 0 Aug28 ? 00:00:00 [cpuhp/0]
root 17 2 0 Aug28 ? 00:00:00 [cpuhp/1]
root 18 2 0 Aug28 ? 00:00:00 [idle_inject/1]
root 19 2 0 Aug28 ? 00:00:05 [migration/1]
root 20 2 0 Aug28 ? 00:00:55 [rcuc/1]
Esses processos são agendados como outros processos?
No Linux,
ps
etop
manuseie as informações disponibilizadas pelo kernel em/proc
, para cada processo, em um diretório com o nome do pid. Isso inclui dois arquivoscomm
ecmdline
;comm
é o nome do comando do processo, ecmdline
é a linha de comando do processo, ou seja , os argumentos com os quais foi fornecido (incluindo seu próprio “nome”).ps
etop
use colchetes para distinguir entre os dois: se um processo tem uma linha de comando, então oargs
campo (também conhecido comoCMD
) produz isso; caso contrário, ele exibe o nome do comando, entre colchetes.Isso é descrito na página de
ps
manual , paraargs
:Processos sem argumentos de processo incluem processos construídos sem qualquer linha de comando (nem mesmo
argv[0]
), como threads de kernel, e processos que perderam sua linha de comando, ou seja , processos extintos, também conhecidos como zumbis (identificáveis pelo<defunct>
sufixo).Nada disso altera as propriedades de agendamento: todos os processos são agendados da mesma maneira, de acordo com seu estado, prioridade etc.