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