Как Linux определяет следующий PID?
Как Linux определяет следующий PID, который он будет использовать для процесса? Цель этого вопроса - лучше понять ядро Linux. Не бойтесь публиковать исходный код ядра. Если PID распределяются последовательно, как Linux заполняет пробелы? Что происходит, когда это подходит к концу?
Например, если я запускаю скрипт PHP от Apache, который делает<?php print(getmypid());?>
тот же PID будет распечатан в течение нескольких минут, пока нажмете «Обновить». Этот период времени зависит от того, сколько запросов получает Apache. Даже если есть только один клиент, PID в конечном итоге изменится.
Когда PID изменяется, это будет закрытое число, но насколько близко? Число, по-видимому, не является полностью последовательным. Если я сделаюps aux | grep apache
Я получаю изрядное количество процессов:
Как Linux выбирает этот следующий номер? Предыдущие несколько PID все еще работают, а также самый последний PID, который был напечатан. Как apache выбирает повторное использование этих PID?