web-dev-qa-db-ja.com

Windows PID = 0は有効ですか?

Windowsでは、0はプロセスの有効なPIDですか、それともOSによって予約されていますか?予約済みまたは何であるかを示すドキュメントへのリンクを提供できれば便利です。感謝!

23
user156144

タスクマネージャーを開きます-[プロセス]タブに切り替えます([表示]、[列の表示]をクリックして、PID列を有効にします)。

PID0はシステムアイドルプロセスです。そのプロセスは実際にはプロセスではなく、決して終了することはないので、常にそうであると思います。

私が利用できるドキュメントはありませんが、これは常に当てはまると確信しています。

15

それはどこにも述べられていませんが、それはカーネルハンドルテーブルがどのように機能するかにかかっています。この同じオブジェクトは、プロセスハンドルとプロセス/スレッドIDの両方に使用されます。ハンドル値はすべて0x4から始まり、PsInitialSystemProcessが最初に作成されるプロセスであるため、PIDは4になります。アイドルプロセスは実際にはプロセスではないため、開くことができません。ほとんどの目的と目的のためのPIDはおそらくありませんが、ほとんどのツールはそれを0と見なします。

5
wj32

PID 4がシステム(Windowsカーネル)用に予約されているのと同様に、PID0はアイドル状態の「疑似プロセス」用に予約されています。

それが指定されている場所に関するドキュメントは見つかりませんが、API(Perf Counters、WMI)を介してプロセスをクエリすると、常にPID0のアイドルプロセスが表示されます。

1
codekaizen