Значения PID только увеличиваются со временем? Или они также могут генерировать более низкие значения
Я заметил, что PID процессов, порождаемых моим веб-приложением, со временем увеличивается.
Для каждого процесса PID сохраняется в файле для ссылки из веб-приложения. Первоначально у меня был файловый буфер 8 байтов для чтения PID. Хотя 8 байтов, вероятно, достаточно, я замечаю, что мне может потребоваться увеличить этот размер буфера, если эти числа увеличиваются в течение длительного периода времени.
Значения ПИД когда-либо становятся ниже? Или только после перезагрузки и она начинается заново?
Каким должен быть мой размер буфера, если я читаю одно значение PID из файла? Должен ли я просто установить очень большой буфер?
2 ответа
В большинстве операционных систем PID оборачивается до 0 после 65535. Не стоит считать, что pid будет только увеличиваться.
В принципе, пид может быть любым неотрицательным pid_t
, который в системах GNU является int
, так
231-1 = 2147483647
будет самый большой такой пид даже теоретически возможно.
Все зависит от операционной системы. Например, мои коробки openbsd генерируют pids случайным образом. Так что в этом случае да, они могут быть ниже или выше..