2010-07-12 4 views
16

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

ответ

14

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

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

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

1

PID 0 зарезервирован для Idle "psuedo-process", так же как PID 4 зарезервирован для системы (Windows Kernel).

Я не могу найти никакой документации о том, где, что указано, но запрашивающие процессы с помощью любого API (Perf Счетчики, WMI) всегда будет давать вам холостой процесс для PID 0.

2

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

Смежные вопросы