A mai Kérdések és válaszok munkamenetét a Stack Exchange SuperUser, a szakma által vezetett Q & A webhelyek csoportosulása alapján kapjuk meg.
A kérdés
SuperUser-olvasó Az Agovizer hosszú ideig keményen nézte az asztal feldolgozási tábláját a Windows Feladatkezelőben, és néhány kérdéssel tér vissza:
What processes, if any, exist between PIDs 0 and 4 on Windows 7? Just out of curiosity what are the processes between 0 and 4, and also between 4 and 200 something.
Felugrottunk a feladatkezelőre a gépünkön, és biztos, hogy az 1., 2. és 3. slotban nincs folyamatok, bár a PID-ek 4-ről 340-re ugrott, szemben a 4-ről 200-ra.
A válasz
A SuperUser közreműködője G Koe egyetlen ügyben lezárja az ügyet:
There is no Process ID 1, 2, or 3 because of how the NT kernel handle table works.
Handles are always multiples of four. The Kernel handle process object is used for both process handles and process/thread IDs. It happens that handle values all start at 0x4 (bit 2), and the InitialSystemProcess is the first process to be created, so it gets a PID of 4. Idle process isn’t actually a process and you can’t open it. It probably doesn’t have a real PID but most tools consider it to be 0.
More on the NT handle table here although this is only accurate for NT3-5(xp), as Windows 7 now requires that you only reference kernel handles if attached to PsInitialSystemProcess.
More on Windows 7/8 Handle limits from Mark Russinovich
More on the “multiples of four” in PIDs
Minden amit ő javasol, hogy ellenőrizze: mi hiányzik az 1, 2 és 3 (nem többszörös 4), és minden PID értéke a listán a 340-13136 osztható 4.
Van valami a magyarázathoz? Hangzik ki a megjegyzésekben. Szeretne többet válaszolni a többi technikus-tudós Stack Exchange felhasználóiról? Nézze meg a teljes vitafonalat itt.