Le cas échéant, quels processus existent entre les PID 0 et 4 sous Windows 7?

Réponses:

34

Il n'y a pas d'ID de processus 1,2 ou 3 en raison du fonctionnement de la table de gestion du noyau NT.

Les poignées sont toujours des multiples de quatre. L'objet de processus de poignée du noyau est utilisé à la fois pour les poignées de processus et les ID de processus / thread. Il arrive que les valeurs de handle commencent toutes à 0x4 (bit 2) , et InitialSystemProcess est le premier processus à être créé, il obtient donc un PID de 4. Le processus inactif n'est pas réellement un processus et vous ne pouvez pas l'ouvrir. Il n'a probablement pas de vrai PID mais la plupart des outils le considèrent comme 0.

Plus d'informations sur le tableau des descripteurs NT ici, bien que cela ne soit précis que pour NT3-5 (xp), car Windows 7 requiert désormais que vous référençiez uniquement les descripteurs de noyau s'ils sont attachés à PsInitialSystemProcess.

En savoir plus sur les limites de Windows 7/8 Handle de Mark Russinovich

En savoir plus sur les «multiples de quatre» dans les PID

G Koe
la source
6
Hmm c'est intéressant, je n'ai jamais réalisé que tous les pids étaient divisibles par 4
agz
sonnent comme s'ils utilisaient un index de tableau pré-multiplié pour le PID
ratchet freak
Vous vous demandez toujours, qu'en est-il de tous les PID entre 4 et 200 ish?
agz
@agz: Les nombres entre 4 et 200-ish (et bien d'autres) sont en utilisation semi-permanente par les threads dans le processus dit Système. Les ID de processus et de thread (appelés génériquement "ID client") proviennent du même "espace numérique". Vous pouvez voir les ID de thread dans Process Explorer: Double-cliquez sur un processus, puis regardez l'onglet Threads dans la fenêtre "Propriétés" résultante.
Jamie Hanrahan
0

vous pouvez voir tous ces processus entre 4 et 200 et bien d'autres dans le volet Processus système Process - propriétés - threads.

Homère
la source