¿Cuál es el rango de un PID en Linux y Solaris?


12

¿Cuál es el valor máximo y mínimo para un PID (ID de proceso) en Linux y Solaris?

Respuestas:


13

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

Para obtener el valor PID máximo que se puede asignar al proceso de Linux, ejecute el siguiente comando:

cat /proc/sys/kernel/pid_max

En la mayoría de las máquinas Linux, el resultado es 32768 (= 2 15 ).

Sin embargo, se puede establecer en cualquier valor hasta 4194304 (= 2 22 ) si es necesario. Los servidores pueden tener un límite mayor para evitar colisiones PID, por ejemplo.


15

Has tenido y aceptado una respuesta de Linux. En Solaris, el valor máximo de una ID de proceso es un parámetro del núcleo sintonizable - pidmaxen /etc/system- que por defecto a 30.000 y que se puede fijar en cualquier lugar entre 266 y 999.999. Tenga en cuenta que esto no max_nprocslo es, que es un parámetro ajustable del núcleo con una función sutilmente diferente.


Mencionaste que max_nprocses diferente, ¿cuál es la diferencia?
incipiente

1
@ffledgling max_nprocslimita el número de procesos concurrentes, independientemente de si los pids no utilizados están disponibles o no.
jlliagre

2

El mínimo es 1 y generalmente el máximo es 2 ^ 15


... excepto en Solaris, como en la pregunta, donde no está.
JdeBP

El PID mínimo es en realidad 0, es decir, el núcleo que no es realmente un proceso ...
jlliagre

Cómo obtiene el núcleo un PID?
Giovanni Tirloni

No necesita uno, pero se le pide pid 0. En Linux, supongo que solo se muestra como un PPID, pero en Solaris definitivamente hay una entrada / proc / 0 y el proceso de informes ps 0 como "programado".
jlliagre

@jlliagre ubuntu no tiene /proc/0ni ps -p 0funciona :), de todos modos, como un inicializador pid variable, lo mejor parece ser-1
Aquarius Power
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.