Quali processi esistono tra i PID 0 e 4 su Windows 7?


Risposte:


34

Non esiste un ID processo 1,2 o 3 a causa del funzionamento della tabella di gestione del kernel NT.

Le maniglie sono sempre multipli di quattro. L'oggetto processo handle del kernel viene utilizzato sia per handle del processo che per ID processo / thread. Succede che tutti i valori di handle iniziano da 0x4 (bit 2) e InitialSystemProcess è il primo processo da creare, quindi ottiene un PID di 4. Il processo inattivo non è in realtà un processo e non è possibile aprirlo. Probabilmente non ha un vero PID ma la maggior parte degli strumenti lo considera 0.

Maggiori informazioni sulla tabella degli handle NT qui, sebbene ciò sia accurato solo per NT3-5 (xp), poiché Windows 7 ora richiede di fare riferimento agli handle del kernel solo se collegati a PsInitialSystemProcess.

Altro su Windows 7/8 Gestire i limiti di Mark Russinovich

Ulteriori informazioni sui "multipli di quattro" nei PID


6
Hmm, questo è interessante, non ho mai capito che tutti i pid fossero divisibili per 4
agz,

sembra che abbiano usato un indice array pre-moltiplicato per il PID
maniaco del cricchetto

Mi chiedo ancora, che dire di tutti i PID tra 4 e 200 ish ancora?
agz,

@agz: i numeri tra 4 e 200-ish (e molti altri) sono in uso semi-permanente da parte dei thread nel cosiddetto processo di sistema. Gli ID di processo e thread (genericamente chiamati "ID client") provengono dallo stesso "spazio numerico". Puoi visualizzare gli ID thread in Process Explorer: fai doppio clic su un processo, quindi guarda la scheda Thread nella finestra "Proprietà" risultante.
Jamie Hanrahan,

0

puoi vedere tutti questi processi tra 4 e 200 e molti altri nel riquadro Process process System - proprietà - thread.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.