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

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

Ao executar ps, você obtém 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 [..]colchetes ao seu redor.

O que eles significam (se é que significam)? Como você cria um processo que parece assim?

A razão pela qual pergunto é que criamos um daemon de sistema a partir do rcS (o programa usa 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 obtêm.

Obrigado.

Responder1

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

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

Responder2

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

Responder3

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

informação relacionada