Если мы введем, ps -ef
мы получим список процессов. Почему номера PID не являются непрерывными?
command-line
ps
Васу Дев Гарг
источник
источник
Отсутствующие промежуточные идентификаторы процессов уже мертвы, и их идентификаторы будут повторно использоваться ядром в последующих процессах.
Мертвые процессы не будут показаны в таблице процессов (кроме зомби), следовательно
ps -ef
не будут их отображать.источник
Обычно PID является непрерывным, но какой-то процесс будет остановлен к тому времени, когда вы запустите команду
ps -ef
.Также некоторые процессы могут быть просто подпроцессом другого процесса, который не показан в
ps -ef
команде. Чтобы увидеть расширенный результат, и вы можете проверить непрерывный PID, используйтеpstree
Пример вывода:
в то время как если вы запустите,
ps -ef
вы просто увидите родительский процесс.источник
Они непрерывны. ПИД назначаются в последовательном порядке до достижения максимального предела. После этого предела он начнется снова с нуля.
Так что просто отсутствующие идентификаторы PID
ps -ef
являются мертвыми процессами. Обратите внимание, чтоps -ef
перечислены только запущенные процессы.источник