Как 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?

Ответы на вопрос(4)

Ваш ответ на вопрос