प्रश्नोत्तर प्रश्न और उत्तर सत्र हमें क्यू एंड ए वेब साइटों के एक समुदाय द्वारा संचालित समूह, स्टैक एक्सचेंज के सुपरयूसर - उपविभाग की सौजन्य देता है।
प्रश्न
सुपरयूसर रीडर एगोविज़र ने विंडोज टास्क मैनेजर में टेबल डिस्प्ले डिस्प्ले टेबल पर एक लंबा कड़ी नजर डाली और कुछ सवालों के साथ वापस आ गया, विशेष रूप से:
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.
हमने अपनी मशीन पर टास्क मैनेजर में भाग लिया और यकीन है कि स्लॉट 1, 2, और 3 में कोई प्रक्रिया नहीं थी, क्योंकि हमारे पीआईडी 4 से 340 तक कूद गए थे, क्योंकि उनके 4 से 200 के विपरीत।
उत्तर
SuperUser योगदानकर्ता जी को एक मामले में मामला बंद कर देता है:
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
वह जो भी सुझाव देता है वह जांचता है: हम 1, 2, और 3 (4 के गुणक नहीं) गायब हैं और हमारी सूची में प्रत्येक पीआईडी मान 340 से 13136 तक विभाजित है 4 से विभाजित है।
स्पष्टीकरण में जोड़ने के लिए कुछ है? टिप्पणियों में आवाज उठाओ। अन्य तकनीक-समझदार स्टैक एक्सचेंज उपयोगकर्ताओं से अधिक उत्तरों पढ़ना चाहते हैं? यहां पूर्ण चर्चा धागा देखें।