¿Qué proceso tiene PID 0?


Respuestas:


51

Desde la página de Wikipedia titulada: Identificador del proceso :

Hay dos tareas con ID de proceso especialmente distinguidas: swapper o sched tiene ID de proceso 0 y es responsable de la paginación , y en realidad es parte del núcleo en lugar de un proceso normal en modo de usuario . El ID de proceso 1 suele ser el proceso de inicio principalmente responsable de iniciar y apagar el sistema. Originalmente, el ID de proceso 1 no estaba reservado específicamente para init por ninguna medida técnica: simplemente tenía este ID como consecuencia natural de ser el primer proceso invocado por el núcleo. Los sistemas Unix más recientes suelen tener componentes de kernel adicionales visibles como 'procesos', en cuyo caso el PID 1 se reserva activamente para el proceso init para mantener la coherencia con los sistemas más antiguos.

Puede ver la evidencia de esto si observa los PID principales (PPID) de inity 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]

kthreaddes el demonio del hilo del núcleo. Todos los kthreads se bifurcan de este hilo. Puede ver evidencia de esto si observa otros procesos usando psy viendo quién es su 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]

Note que son todos 2.


Entonces, si PID 0 es intercambiable, entonces, ¿cuál es kswapd[0-9]*, en mi sistema, PID 52 actualmente? También parece ser responsable de la paginación.
Ruslan

1
@Ruslan: si tiene preguntas seguidas, hágalas en el sitio principal, los comentarios no son para esto. Haz referencia a esta pregunta en tu nueva pregunta.
slm

bueno, pero cuando creamos un nuevo proceso usando el proceso hijo de fork obtenemos pid 0 ?
roottraveller

@roottraveller no necesariamente, sea cual sea el PID de los padres donde se produjo la bifurcación, será lo que aparezca.
slm

10

Del wiki de Identificador de proceso :

Hay dos tareas con ID de proceso especialmente distinguidas: swapper o sched tiene ID de proceso 0 y es responsable de la paginación, y en realidad es parte del núcleo en lugar de un proceso normal en modo de usuario.


6

El proceso con pid 0es el planificador,

Descripción del ID del proceso:
0 El Programador
1 El proceso de inicio
2 kflushd
3 kupdate
4 kpiod
5 kswapd
6 mdrecoveryd

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.