Значения PID только увеличиваются со временем? Или они также могут генерировать более низкие значения - PullRequest
1 голос
/ 07 сентября 2011

Я заметил, что PID процессов, порождаемых моим веб-приложением, со временем увеличивается.

Для каждого процесса PID сохраняется в файле для ссылки из веб-приложения.Первоначально у меня был файловый буфер 8 байтов для чтения PID из .. Хотя 8 байтов, вероятно, достаточно, я замечаю, что мне может потребоваться увеличить этот размер буфера, если эти числа увеличиваются в течение длительного периода времени ..

Значения ПИД когда-либо снижаются?Или только после перезагрузки, и она начинается снова?

Каким должен быть размер моего буфера, если я читаю одно значение PID из файла?Должен ли я просто установить очень большой буфер?

Ответы [ 2 ]

3 голосов
/ 07 сентября 2011

В большинстве операционных систем значение PID приближается к 0 после 65535. Предполагать, что значения pid будут только увеличиваться, небезопасно.

В принципе, pid может быть любым неотрицательным pid_t, который в системах GNU является int, поэтому

2 31 -1 = 2147483647

будет самым большим подобным pid, даже теоретически возможным.

1 голос
/ 07 сентября 2011

Все зависит от операционной системы. Например, мои коробки openbsd генерируют pids случайным образом. Так что в этом случае да, они могут быть ниже или выше ..

...