Qual é o alcance de um PID no Linux e Solaris?

12

Qual é o valor máximo e mínimo para um PID (Process ID) no Linux e Solaris?

Graeme
fonte

Respostas:

13

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

Para obter o valor máximo do PID que pode ser atribuído ao processo Linux, execute o seguinte comando:

cat /proc/sys/kernel/pid_max

Na maioria das máquinas Linux, o resultado é 32768 (= 2 15 ).

No entanto, pode ser definido com qualquer valor até 4194304 (= 2 22 ), se necessário. Os servidores podem ter um limite maior para evitar colisões de PID, por exemplo.

Tomasz Kowalczyk
fonte
15

Você teve e aceitou uma resposta do Linux. No Solaris, o valor máximo de uma identificação de processo é um parâmetro ajustável do kernel - pidmaxem /etc/system- que padroniza para 30.000 e pode ser definido entre 266 e 999.999. Observe que isso não é max_nprocs, que é um parâmetro ajustável do kernel com uma função sutilmente diferente.

JdeBP
fonte
Você mencionou que max_nprocsé diferente, qual é a diferença?
ffledgling
1
@ffledgling max_nprocslimita o número de processos simultâneos, independentemente de pids não utilizados estarem disponíveis ou não.
Jlliagre 18/05/19
2

O mínimo é 1 e geralmente o máximo é 2 ^ 15


fonte
... exceto no Solaris, como na pergunta, onde não está.
JdeBP
O mínimo PID é realmente 0, ou seja, o kernel que não é um processo realmente ...
jlliagre
o kernel recebe um PID?
Giovanni Tirloni
Ele não precisa de um, mas recebe o pid 0. No Linux, acho que é mostrado apenas como um PPID, mas no Solaris, há definitivamente uma entrada / proc / 0 e os relatórios ps processam 0 como "sched".
jlliagre
@jlliagre ubuntu não tem /proc/0nem ps -p 0funciona :), de qualquer maneira, como um inicializador pid variável, o melhor parece ser-1
Aquarius Poder