Каков диапазон PID в Linux и Solaris?


12

Какое максимальное и минимальное значение для PID (ID процесса) в Linux и Solaris?

Ответы:


13

С http://www.alexxoid.com/blog/linux/getting-the-max-pid-value-for-linux-process.html :

Чтобы получить максимальное значение PID, которое может быть назначено процессу Linux, выполните следующую команду:

cat /proc/sys/kernel/pid_max

На большинстве компьютеров Linux результат равен 32768 (= 2 15 ).

Однако при необходимости его можно установить на любое значение до 4194304 (= 2 22 ). Например, у серверов может быть больший лимит, чтобы избежать коллизий PID.


15

Вы получили и приняли ответ Linux. В Solaris, максимальное значение идентификатора процесса является параметр ядра перестраиваемого - pidmaxв /etc/system- то по умолчанию 30000 и которые могут быть установлены в любом месте между 266 и 999999. Обратите внимание, что это не так max_nprocs, это настраиваемый параметр ядра с немного другой функцией.


Вы упомянули, что max_nprocsотличается, в чем разница?
— неопытный

1
@ffledgling max_nprocsограничивает количество одновременных процессов, независимо от того, доступны неиспользованные pids или нет.
— Jlliagre

2

Минимум 1 и обычно максимум 2 ^ 15


... кроме Соляриса, как в вопросе, где это не так.
— JdeBP

Минимальный PID фактически равен 0, то есть ядро, которое на самом деле не является процессом ...
— jlliagre

ядро получает PID?
— Джованни Тирлони

Он не нужен, но ему назначен pid 0. В Linux, я думаю, он отображается только как PPID, но в Solaris определенно есть запись / proc / 0, а ps сообщает о процессе 0 как "sched".
— Jlliagre

@jlliagre Ubuntu не имеет и /proc/0не ps -p 0работает :), в любом случае, как инициализатор переменной pid, лучше всего кажется-1
— Aquarius Power
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.