Windows 7的PID 0和PID 4之间存在什么进程(如果有)?


Answers:


34

由于NT内核处理表的工作方式,因此没有进程ID 1,2,or3。

句柄始终是四个的倍数。内核句柄进程对象用于进程句柄和进程/线程ID。碰巧句柄值都从0x4(位2)开始,并且InitialSystemProcess是要创建的第一个进程,因此它的PID为4。空闲进程实际上不是一个进程,您无法打开它。它可能没有真实的PID,但是大多数工具都将其设为0。

关于NT句柄表的更多信息,尽管这仅对NT3-5(xp)正确,因为Windows 7现在要求您仅在连接到PsInitialSystemProcess时引用内核句柄。

Mark Russinovich的Windows 7/8句柄限制的更多信息

更多关于PID的“ 4的倍数”


6
嗯这就是有趣的,我从来没有意识到,所有的PID是被4整除
AGZ

听起来好像他们为PID使用了预乘数组索引
棘轮怪胎

仍然想知道,4到200 ish之间的所有PID仍然如何?
2013年

@agz:4到200 ish(甚至更多)之间的数字在所谓的System进程中由线程半永久使用。进程和线程ID(通常称为“客户端ID”)来自相同的“数字空间”。您可以在“进程资源管理器”中看到线程ID:双击一个进程,然后在出现的“属性”窗口中查看“线程”选项卡。
Jamie Hanrahan 2015年

0

您可以在Process Explorer System进程-属性-线程窗格中查看所有4到200之间的进程,还有更多进程。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.