Ao executar o 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 os colchetes '[..]' ao seu redor.
O que eles significam (se houver)? Como você cria um processo que aparece 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 em primeiro lugar.
Obrigado.
Respostas:
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ê poderá obter o mesmo efeito para o seu processo definindo
argv[0]
a sequência vazia.fonte
mostly
- o que pode fazer uma exceção?Sim, 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.
fonte
Seu exemplo nem mostra o
[...]
, então não tenho 100% de certeza do que você está falando. No entanto, é possível modificar osargv
argumentos de qualquer programa (no Linux). Os argumentos são refletidos na saída deps
.fonte
[...]
foi concebido como um espaço reservado. Eu estava me referindo ao[kthreadd]
<- o[]
que encapsula o nome.