В Windows 0 допустимых PID для процесса или который это, резервируются ОС? Было бы хорошо, если можно предоставить ссылку на документ, в котором говорится, что это резервируется или что. Благодарность!
Откройте диспетчер задач - перейдите на вкладку процессов (возможно, нажмите "Вид", "Показать колонки" и включите колонку PID).
PID 0 - это процесс простоя системы. Поскольку этот процесс на самом деле не является процессом и никогда не выходит из системы, я подозреваю, что это всегда так.
Документация отсутствует, но я уверен, что так будет всегда.
Это нигде не указано, но все сводится к тому, как работает таблица дескрипторов ядра. Этот же объект используется как для дескрипторов процессов, так и для идентификаторов процессов / потоков. Бывает, что все значения дескрипторов начинаются с 0x4, и PsInitialSystemProcess - это первый создаваемый процесс, поэтому он получает PID 4. Неактивный процесс на самом деле не является процессом, и вы не можете его открыть. Вероятно, для большинства намерений и целей у него нет PID, но большинство инструментов считают его равным 0.
PID 0 зарезервирован для «псевдо-процесса» в режиме ожидания , точно так же, как PID 4 зарезервирован для системы (ядра Windows).
Я не могу найти никакой документации о том, где это указано, но запрос процессов через любой API (Perf Counters, WMI) всегда даст вам незанятый процесс для PID 0.