Windows PID = 0 допустимо?

в Windows 0 действительный PID для процесса или зарезервирован ОС? Было бы неплохо, если бы вы могли предоставить ссылку на документ, который говорит, что он зарезервирован или что. Спасибо!

3 ответов


открыть Диспетчер задач-перейдите на вкладку процессы (возможно, нажмите "Просмотр", "показать столбцы" и включите столбец PID).

PID 0-это процесс простоя системы. Поскольку этот процесс на самом деле не является процессом и никогда не завершается, я подозреваю, что это всегда так.

нет документации, доступной для меня, но я уверен, что это всегда будет так.


это нигде не указано, но это сводится к тому, как работает таблица обработки ядра. Этот же объект используется как для дескрипторов процессов, так и для идентификаторов процессов/потоков. Случается, что значения дескриптора начинаются с 0x4, и PsInitialSystemProcess является первым процессом, который будет создан, поэтому он получает PID 4. Процесс простоя на самом деле не является процессом, и вы не можете его открыть. Вероятно, у него нет PID для большинства намерений и целей, но большинство инструментов считают его равным 0.


PID 0 зарезервирован для простаивающего "psuedo-процесса", так же, как PID 4 зарезервирован для системы (ядра Windows).

Я не могу найти документацию о том, где это указано, но запрос процессов через любой API (perf Counters, WMI) всегда даст вам простой процесс для PID 0.