O que o [..] significa em 'ps' e como você cria um processo como este?

8

Ao executar ps, você recebe algo como:

root         2  0.0  0.0      0     0 ?        S<   00:00   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S<   00:00   0:00 [ksoftirqd/0]
root         4  0.0  0.0      0     0 ?        S<   00:00   0:00 [events/0]

Todos os processos daemon geralmente têm os colchetes '[..]' ao seu redor.

O que eles significam (se alguma coisa)? Como você cria um processo que aparece assim?

A razão que eu pergunto é que criamos um daemon do sistema a partir do rcS (o programa usa o fork para criar o daemon), mas a entrada ps se parece com:

root       207  0.0  0.2   1516   200 ?        S    00:00   0:00 /root/testdaemo

Então, estávamos nos perguntando se é importante ter os colchetes '[..]' e como os processos os colocam em primeiro lugar.

Obrigado.

    
por user626201 16.08.2011 / 14:34

3 respostas

14

Os colchetes são usados para processos que não possuem uma linha de comando associada (principalmente threads do kernel e alguns serviços do sistema).

Se bem me lembro, você pode conseguir o mesmo efeito para o seu processo, definindo argv[0] para a string vazia.

    
por 16.08.2011 / 14:43
5

Sim, eles são threads do kernel, criados por subsistemas do kernel. Eles são criados usando as funções kthread_create () ou kernel_thread () no kernel.

    
por 16.08.2011 / 17:46
2

Seu exemplo nem mostra o [...] , então não tenho 100% de certeza sobre o que você está falando. No entanto, é possível modificar os argumentos argv de qualquer programa (no Linux). Os argumentos são refletidos na saída de ps .

    
por 16.08.2011 / 14:44

Tags