Идентификатор процесса
Идентификатор процесса (англ. Process IDentifier, PID) — уникальный номер (идентификатор) процесса в многозадачной операционной системе (ОС). В ОС семейства Windows PID хранится в переменной целочисленного типа[1]. В ОС, соответствующих стандарту POSIX, тип переменной, хранящей PID, определяется каждой ОС индивидуально[2]. Например, в ОС Linux PID хранится в переменной целочисленного типа (int)[3].
В Unix-подобных ОС
Часто имеется два специальных значения PID: swapper или sched - процесс с номером 0 (часто не отображается в списке), отвечает за выгрузку страниц и является частью ядра операционной системы. Процесс 1 - обычно является процессом init, ответственным за запуск и остановку системы. Также становится родительским процессом для процессов-сирот.
В Linux максимальный возможный идентификатор процесса по умолчанию ограничен 32 тысячами,[4] но может быть перенастроен на величину до 4 миллионов. При этом максимальный идентификатор потока в ОС ограничен 500 млн.[5]
Примечания
- MSDN:GetCurrentProcessId (англ.) (недоступная ссылка). Архивировано 31 октября 2012 года.
- POSIX Function Reference : getpid (англ.). Архивировано 31 октября 2012 года.
- /usr/include/bits/types.h:69 (англ.). Архивировано 31 октября 2012 года.
- Linux Scalability
- http://lxr.free-electrons.com/source/include/linux/threads.h#L29 Архивная копия от 20 сентября 2015 на Wayback Machine " A maximum of 4 million PIDs should be enough for a while. [NOTE: PID/TIDs are limited to 2^29 ~= 500+ million, see futex.h.]"