linux-l: PID

Jens Dreger jens.dreger at physik.fu-berlin.de
Di Jan 18 10:29:11 CET 2000


On Tue, Jan 18, 2000 at 09:54:22AM +0100, U.Wiederhold at gmx.net wrote:
> Hallo,
> mal ne ganz allgemeine Frage...
> Wenn ich mir die Prozesse mit ps aux anzeigen lasse, bin ich nach 3 Tagen
> Laufzeit bei PID 18054.
> Wie entwickelt sich das? Nimmt die Höhe der PID immer weiter zu, so daß
> ich nach einem Jahr das kill-Kommando mit "kill 4578744653475687"
> ausführen muß? Oder wird das irgendwann genullt bzw. rücken die PID's mal
> auf?

-------------8<---------------------
dreger at smart:~> grep -r PID_MAX /usr/src/linux
/usr/src/linux/./include/linux/tasks.h:#define PID_MAX 0x8000
/usr/src/linux/./kernel/fork.c: static int next_safe = PID_MAX;
/usr/src/linux/./kernel/fork.c:         next_safe = PID_MAX;
/usr/src/linux/./kernel/fork.c:                                 next_safe = PID_MAX;
----------------8<------------------

Maximale PID = 32768

Ein Blick in fork.c zeigt, dass der kernel anfaengt, nach einer freien
PID zu suchen, wenn 32768 erreicht ist. Davor zaehlt er einfach hoch.

PID=4578744653475687 waere uebrigens schon deshalb recht unwahrscheinlich 
(auf einer 32-bit Maschine), weil dies doch etwas groesser als 2^32
ist und die PID hoechstwahrscheinlich in einer 32-bit Variable
vermerkt ist.

Gruss,

Jens.




Mehr Informationen über die Mailingliste linux-l