Por que números PID atribuídos não são sequenciais de 100?

0

Se você observar uma lista de processos abertos, no Activity Monitor, ou no Terminal com o comando TOP, por que os números PID atribuídos não são todos usados ​​sequencialmente.

Por exemplo, isso ocorre porque alguns processos com determinados números PID foram executados e deixaram de ser executados, deixando uma lacuna em números atribuídos PID sequenciais de processos em execução existentes ou seus processos não listados não são visíveis no comando Terminais superiores ou por algum outro motivo?

Entendo que após o início da operação com os números PID 0, 1 e mais alguns são atribuídos, os números PID são então alocados a partir de 100. Como apresentado por: AD: Qual é o pid máximo para o Mac OS X? E Wikipedia: identificador de processo.

Cam_Aust
fonte

Respostas:

2

Os números de processo são atribuídos sequencialmente, começando com 1. O kernel é considerado como processo # 0, mas não é realmente um processo, portanto, este é um caso especial. Não pula para 100; isso é algo diferente. As lacunas que você vê na sequência são, na verdade, devidas a processos que terminaram. A maioria dos processos é do tipo de vida; eles começam, fazem alguma tarefa específica e, quando a tarefa é concluída, eles saem.

Quanto a essa figura "100", isso tem a ver com o que acontece depois que 99.998 processos foram iniciados. Esse é o PID máximo, então, nesse ponto, o sistema está "sem números" e começa a reutilizá-los a partir de 100. Mas isso só ocorrerá depois que o computador estiver funcionando por um bom tempo, não durante a inicialização inicial. Pode levar meses ou até anos sem uma reinicialização antes de ficar sem PIDs e reiniciar a partir de 100.

Gordon Davisson
fonte