Quel processus a le PID 0?


Réponses:


51

De la page wikipedia intitulée: Identifiant du processus :

Il existe deux tâches avec des ID de processus spécialement distingués: swapper ou sched a l'ID de processus 0 et est responsable de la pagination . Il fait en fait partie du noyau plutôt que d'un processus normal en mode utilisateur . L'ID de processus 1 est généralement le processus init principalement responsable du démarrage et de l'arrêt du système. À l'origine, l'ID de processus 1 n'était pas spécifiquement réservé à init par des mesures techniques: il l'avait simplement comme conséquence naturelle d'être le premier processus invoqué par le noyau. Les systèmes Unix plus récents comportent généralement des composants de noyau supplémentaires visibles en tant que «processus», auquel cas le PID 1 est activement réservé pour le processus init afin de maintenir la cohérence avec les systèmes plus anciens.

Vous pouvez en voir la preuve si vous regardez les PID parents (PPID) de initet 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]

kthreaddest le démon de threads du noyau. Tous les kthreads sont fourchus à partir de ce fil. Vous pouvez en voir la preuve si vous examinez d'autres processus utilisant pset identifiant leur 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]

Remarquez qu'ils sont tous 2.


Donc, si le PID 0 est le swapper, qu’est-ce kswapd[0-9]*qui a actuellement le PID 52 sur mon système? Il semble également être responsable de la pagination.
Ruslan

1
@Ruslan - si vous avez des questions à suivre, posez-les sur le site principal, les commentaires ne sont pas destinés à cela. Référence cette question dans votre nouvelle question.
slm

bien, mais quand on crée un nouveau processus utilisant un processus fils fork , obtenir le pid 0 ?
roottraveller

@roottraveller pas nécessairement, quel que soit le PID des parents est l'endroit où la fourche s'est produite sera ce qui apparaît.
slm

10

Depuis le wiki d' identification de processus :

Il existe deux tâches avec des ID de processus spécialement distingués: swapper ou sched a l'ID de processus 0 et est responsable de la pagination. Il fait en fait partie du noyau plutôt que d'un processus normal en mode utilisateur.


6

Le processus avec pid 0est le planificateur,

ID de processus Description:
0 Le planificateur
1 Le processus init
2 kflushd
3 kupdate
4 kpiod
5 kswapd
6 mdrecoveryd

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.