web-dev-qa-db-fra.com

Peut-il y avoir deux processus init?

Je suis nouveau sur les systèmes d'exploitation (en particulier Linux) et ceci est ma première question ici

Je veux demander, peut-il y avoir deux processus avec CMD = init (comme donné par la commande ps - e.).

J'ai eu deux processus sur mon ordinateur portable avec CMD = init (id 1 (par défaut) et 29179). J'ai écrit un programme c ++, créé un enfant et attendu que le parent quitte l'enfant (orphelin de l'enfant), puis vérifié le PPID de l'enfant, mais il a donné 29179.

Voici mon programme C++: Prog.cpp (sur Ideone, toutes les sorties de stdout ne sont pas imprimées peuvent être comme ça.)

Voici la sortie de mon programme C++ et la sortie de ps -e sur mon ordinateur portable (seulement 2 liens autorisés): sortie

3
Saurabh Jain

Oui. Il est possible d'avoir plusieursinit processus.

Dans l'ancien temps avant Upstart, il n'y avait qu'un seul processus init (où PID = 1).

Maintenant, avec Upstart, il y a le processus original init (où PID = 1).

Cependant, lorsqu'un utilisateur se connecte, un nouveau processus init est créé pour cette session utilisateur. C'est pourquoi vous voyez le deuxième processus init (où PID != 1).

2
user376787