Quelle est la portée d'un PID sous Linux et Solaris?


12

Quelle est la valeur maximale et minimale d'un PID (Process ID) sous Linux et Solaris?

Réponses:


13

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

Pour obtenir la valeur PID max pouvant être affectée au processus Linux, exécutez la commande suivante:

cat /proc/sys/kernel/pid_max

Sur la plupart des machines Linux, le résultat est 32768 (= 2 15 ).

Cependant, il peut être réglé sur n'importe quelle valeur jusqu'à 4194304 (= 2 22 ) si nécessaire. Les serveurs peuvent avoir une limite plus grande pour éviter les collisions PID, par exemple.


15

Vous avez eu et accepté une réponse Linux. Sous Solaris, la valeur maximale d'un ID de processus est un paramètre ajustable par le noyau - pidmaxpar /etc/systemdéfaut - 30 000 et pouvant être défini entre 266 et 999 999. Notez que ce n'est pas le cas max_nprocs, qui est un paramètre ajustable du noyau avec une fonction subtilement différente.


Vous avez dit que max_nprocsc'était différent, quelle est la différence?
ffledgling

1
@ffledgling max_nprocslimite le nombre de processus simultanés, que les pids inutilisés soient disponibles ou non.
jlliagre

2

Le minimum est 1 et généralement le maximum est 2 ^ 15


... sauf sur Solaris, comme dans la question, où il n'est pas.
JdeBP

Le PID minimum est en fait 0, c'est-à-dire le noyau qui n'est pas vraiment un processus ...
jlliagre

le noyau obtient-il un PID?
Giovanni Tirloni

Il n'en a pas besoin mais reçoit le pid 0. Sous Linux, je suppose qu'il n'est affiché que comme PPID mais sous Solaris, il y a certainement une entrée / proc / 0 et ps rapporte le processus 0 comme "sched".
jlliagre

@jlliagre ubuntu /proc/0ne ps -p 0fonctionne pas non plus :), de toute façon, en tant qu'initialiseur pid variable, le meilleur semble être-1
Aquarius Power
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.