web-dev-qa-db-ja.com

2つの初期化プロセスがありますか?

私はオペレーティングシステム(特にLinux)が初めてで、これがここでの最初の質問です

CMD = initで2つのプロセスがありますか(ps - eコマンド)。

CMD = init(idは1(これがデフォルトです)と29179)のラップトップで2つのプロセスがありました。 C++プログラムを作成し、子を作成し、親が終了するのを待って(子を孤立させ)、その後、子のppidをチェックしましたが、29179が返されました。

C++プログラムは次のとおりです。 Prog.cpp (Ideoneでは、stdoutのすべての出力が印刷されない場合があります。)

C++プログラムの標準出力とps -e私のラップトップでは(2つのリンクのみが許可されています): output

3
Saurabh Jain

はい。 複数initプロセスを持つことが可能です。

Upstartの前の昔は、initプロセスが1つだけでした(PID = 1)。

現在、Upstartには、元のinitプロセスがあります(ここでPID = 1)。

ただし、ユーザーがログインすると、そのユーザーセッション用に新しいinitプロセスが作成されます。したがって、2番目のinitプロセス(ここでPID != 1)が表示されるのはこのためです。

2
user376787