Каков диапазон 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.