Идентификатор процесса
-
Идентификатор процесса (PID)
- PID используется в операционных системах для уникальной идентификации активных процессов.
- PID может использоваться для управления процессами, включая изменение их приоритета или завершение.
-
Создание и управление процессами в Unix-подобных системах
- В Unix-подобных системах новые процессы создаются с помощью системного вызова fork().
- PID возвращается родительскому процессу для управления дочерними процессами.
- Родительский процесс может ждать завершения дочернего процесса или завершить его.
-
PID 0 и PID 1
- PID 0 используется ядром для swapper и sched, а также для выполнения незанятых задач в Linux.
- PID 1 обычно является процессом инициализации системы.
- В более поздних системах Unix PID 1 резервируется для процесса инициализации для поддержания совместимости со старыми системами.
-
Распределение PID
- PID обычно присваиваются последовательно, начиная с 0 и увеличивая до максимального значения, зависящего от системы.
- В macOS и HP-UX распределение PID возобновляется при значении 100, пропуская все ранее назначенные PID.
-
Безопасность и идентификаторы процессов
- Некоторые системы используют специальные методы присвоения PID для повышения безопасности.
- В некоторых системах, например MPE/iX, используются самые низкие доступные PID для минимизации использования памяти.
-
Получение PID
- В Linux PID можно получить с помощью системного вызова getpid() или переменной $$ в shell.
- В Windows PID можно получить с помощью функции GetCurrentProcessId() или GetProcessId().
-
Идентификатор процесса в Windows
- В Windows процессы, находящиеся в режиме ожидания, получают PID 0.
- Системным процессам в Windows назначаются специальные идентификаторы, например, PID 8 в Windows 2000 и PID 4 в Windows XP.
-
Дополнительные сведения
- В статье также упоминаются другие идентификаторы, такие как UID и GID, а также ручка и PSP.