Windows 7のPID 0と4の間に存在するプロセスはありますか?


回答:


34

NTカーネルハンドルテーブルの動作方法のため、プロセスID 1、2、または3はありません。

ハンドルは常に4の倍数です。カーネルハンドルプロセスオブジェクトは、プロセスハンドルとプロセス/スレッドIDの両方に使用されます。ハンドル値はすべて0x4(ビット2)始まり、InitialSystemProcessが最初に作成されるプロセスであるため、PIDが4になります。アイドルプロセスは実際にはプロセスではなく、開くことができません。おそらく実際のPIDはありませんが、ほとんどのツールは0と見なします。

Windows 7ではPsInitialSystemProcessにアタッチされている場合、カーネルハンドルのみを参照する必要があるため、これはNT3-5(xp)に対してのみ正確ですが、NTハンドルテーブルの詳細はこちらです。

Mark RussinovichによるWindows 7/8ハンドル制限の詳細

PIDの「4の倍数」の詳細


6
うーん、面白いですね、すべてのPIDが4で割り切れることに気づかなかった
agz

PIDにあらかじめ乗算された配列インデックスを使用したように聞こえる
ラチェットフリーク

まだ疑問に思っていますが、4〜200のPIDがすべて残っているのはどうですか。
agz

@agz:4〜200の数字(およびそれ以上)は、いわゆるシステムプロセスのスレッドによって半永久的に使用されます。プロセスIDとスレッドID(一般に「クライアントID」と呼ばれます)は、同じ「番号スペース」から取得されます。Process ExplorerでスレッドIDを確認できます。プロセスをダブルクリックして、表示される[プロパティ]ウィンドウの[スレッド]タブを確認します。
ジェイミーハンラハン

0

Process Explorer Systemプロセス-プロパティ-スレッドペインで、4〜200以上のすべてのプロセスを確認できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.