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

12

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

Graeme
источник

Ответы:

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, это настраиваемый параметр ядра с немного другой функцией.

JdeBP
источник
Вы упомянули, что 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