Qual processo possui o PID 0?


Respostas:


51

Na página da wikipedia intitulada: Identificador de processo :

Existem duas tarefas com IDs de processo especialmente distintos: o swapper ou sched tem o ID de processo 0 e é responsável pela paginação e é realmente parte do kernel, em vez de um processo normal no modo de usuário . O ID do processo 1 geralmente é o processo de inicialização principal responsável por iniciar e desligar o sistema. Originalmente, o ID do processo 1 não era especificamente reservado para o init por nenhuma medida técnica: ele simplesmente tinha esse ID como uma conseqüência natural de ser o primeiro processo invocado pelo kernel. Os sistemas Unix mais recentes geralmente têm componentes adicionais do kernel visíveis como 'processos'; nesse caso, o PID 1 é reservado ativamente para que o processo init mantenha consistência com os sistemas mais antigos.

Você pode ver a evidência disso se observar os PIDs (PPID) pai inite kthreadd:

$ ps -eaf
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Jun24 ?        00:00:02 /sbin/init
root         2     0  0 Jun24 ?        00:00:00 [kthreadd]

kthreaddé o daemon de thread do kernel. Todos os kthreads são bifurcados a partir deste tópico. Você pode ver evidências disso se observar outros processos usando pse vendo quem é seu PPID:

$ ps -eaf
root         3     2  0 Jun24 ?        00:00:57 [ksoftirqd/0]
root         4     2  0 Jun24 ?        00:01:19 [migration/0]
root         5     2  0 Jun24 ?        00:00:00 [watchdog/0]
root        15     2  0 Jun24 ?        00:01:28 [events/0]
root        19     2  0 Jun24 ?        00:00:00 [cpuset]
root        20     2  0 Jun24 ?        00:00:00 [khelper]

Observe que são todos 2.


Portanto, se o PID 0 é trocador, o que é kswapd[0-9]*, qual no meu sistema tem o PID 52 atualmente? Parece também ser responsável pela paginação.
Ruslan

11
@Ruslan - se você seguir as perguntas, faça-as no site principal, os comentários não são para isso. Faça referência a esta pergunta na sua nova pergunta.
slm

bem, mas quando criamos um novo processo usando o processo filho fork , recebemos o pid 0 ?
roottraveller

@roottraveller não necessariamente, seja qual for o PID dos pais onde o garfo ocorreu, será o que aparece.
slm

10

No wiki do Identificador de processo :

Existem duas tarefas com IDs de processo especialmente distintos: o swapper ou sched tem o ID de processo 0 e é responsável pela paginação e é realmente parte do kernel, em vez de um processo normal no modo de usuário.


6

O processo com pid 0é o planejador,

ID do processo Descrição:
0 O agendador
1 O processo de inicialização
2 kflushd
3 kupdate
4 kpiod
5 kswapd
6 mdrecoveryd

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.