Каков максимальный идентификатор процесса в Windows?
Каков максимальный идентификатор процесса, который я могу получить, вызывая DWORD GetProcessId(HANDLE)
или DWORD GetCurrentProcessId()
? Он не задокументирован на странице документации API.
Ответы
Ответ 1
В соответствии с Push-Limits of Windows: процессы и потоки сообщение блога Марком Руссиновичем количество процессов ограничено доступной памятью. Таким образом, теоретически максимальный идентификатор процесса близок к DWORD_MAX (pids делятся на 4).
Ответ 2
Я не смог найти официальный отчет, но поскольку он хранится и возвращается как DWORD, вы должны предположить, что он может использовать весь 32-битный диапазон. В практических системах я никогда не видел PID, превышающий ~ 200 000, хотя, поскольку Windows повторно использует PID, они редко становятся больше.