¿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.