10 votes

Quel est le pid maximum pour Mac OS X ?

Le livre Mac OS X Internals États que le maximum identificateur de processus est de 30 000 et après cela, le noyau commencera à réutiliser les pids. Mais en vérifiant sur mon propre système, via :

ps a | grep ps | grep -v grep | awk '{print $1}'

Je peux voir que j'ai des pids qui vont plus haut. Quelqu'un sait-il s'il existe un pid_max explicitement défini quelque part, comme sous Linux ?

17voto

ioSamurai Points 8647

Regarder sys/proc_internal.h Dans la version xnu-1699.24.23, je constate que PID_MAX est de 99999. Cette valeur est utilisée dans kern_fork.c dans la fonction forkproc . En regardant cette fonction, les ID de processus ne sont pas assignés égaux à PID_MAX, donc le plus haut pid possible est 99998.

6voto

Ethan Points 121

Réponse de Kyle est toujours valable à ce jour. Au cas où vous voudriez le vérifier, voici un shell script :

#!/bin/bash

pid=0
for i in {1..100000}; do
  : &
  if [ $! -lt $pid ]; then
    echo "Min pid: $!"
    echo "Max pid: $pid"
    break
  fi
  pid=$!
done

Cette empreinte :

Min pid: 100
Max pid: 99998

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X