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

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

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

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

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

2 ответа

Решение

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

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

231-1 = 2147483647

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

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

Другие вопросы по тегам