GNU/Linux >> Linux の 問題 >  >> Linux

どのプロセスにPid0がありますか?

Linuxで開始されたプロセスIDが0のプロセスを探しています。initを知っています。 Linuxの最初のプロセスであるPID1がありますが、PID 0のプロセスはありますか?

承認された回答:

「プロセス識別子:

」というタイトルのウィキペディアページから

特別に区別されたプロセスIDを持つ2つのタスクがあります: swapper またはスケジュール プロセスID0を持ち、ページングを担当し、
通常のユーザーモードプロセスではなく、実際にはカーネルの一部です。
プロセスID1は通常、主に開始を担当するinitプロセスです。
システムをシャットダウンします。もともと、プロセスID 1は、技術的な手段によって
初期化のために特別に予約されていませんでした。
カーネルによって呼び出される最初のプロセスである
自然な結果として、このIDを持っていただけです。最近のUnixシステムには通常、
「プロセス」として表示される追加のカーネルコンポーネントがあります。この場合、PID
1は、古いシステムとの一貫性を維持するために
初期化プロセス用にアクティブに予約されています。

initの親PID(PPID)を見ると、この証拠を見ることができます。 および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 カーネルスレッドデーモンです。すべてのkthreadはこのスレッドからフォークされます。 psを使用して他のプロセスを見ると、この証拠を見ることができます。 そして彼らの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]

それらはすべて2であることに注意してください 。


Linux
  1. Linux でディスクに書き込みを行っているプロセスを特定する方法

  2. プロセスごとに開いているファイルをカウントする

  3. Linux サーバーで pty を食べているのはどのプロセスですか?

  1. プロセスが実行されている特定のプロセッサを特定する

  2. ファイルを変更しているプロセスを見つける

  3. <pid> を持つプロセスの現在の umask

  1. 手作業でコンテナを構築する:PID名前空間

  2. 実行中のプロセスが属するグループを特定する

  3. 実行中の MTA の識別