O Windows 7 reutiliza identificações de processo?
O motivo pelo qual faço essa pergunta é devido à minha experiência de que o Windows XP e o Linux nunca parecem gerar IDs de processo superiores a 20 a 30k. No entanto, minha máquina com Windows 7 alcançará IDs entre 5 e 10 mil ou mais dentro de algumas horas após uma reinicialização, que é a minha experiência normal do passado. Na manhã seguinte, verifico e alguns processos têm 250k ou mais, o que não é.
Ativei o recurso de auditoria de segurança para registrar a criação e finalização do processo. Nada está gerando centenas ou milhares ou processos. Apenas 513 desses eventos são registrados por um período de 24 horas; no entanto, centenas de milhares de IDs de processo foram usados.
Tentei pesquisar minha pergunta e uma das perguntas sugeridas anteriormente apontou para o maravilhoso blog de Mark Russinovich . Mas este artigo, embora seja uma leitura muito interessante, me deixou perplexo.
fonte
Respostas:
Pelo meu teste, parece que você tem uma suposição falsa: os números PID não são fornecidos em ordem sequencial. Isso é muito fácil de provar, execute o seguinte comando na linha de comando. Deve abrir 3 cópias do bloco de notas.
Na minha máquina, aqui estão os PIDs das 3 cópias que foram abertas ao mesmo tempo.
Como você pode ver os PIDs saltando bastante, se você os abrir um de cada vez, também verá que o próximo PID nem sempre é maior que o anterior. Por exemplo, abri uma quarta cópia do bloco de notas e peguei este
Portanto, parece que o Windows 7 escolhe apenas um PID aleatório não utilizado toda vez que inicia um processo; portanto, é muito bom que um PID seja reutilizado durante a execução do Windows sem uma reinicialização.
Eu escrevi um script simples do PowerShell (requer v2 ou mais recente; consulte este histórico de edições das respostas para uma versão em C #) para provar com certeza
Executar o programa 10 vezes que sempre foi necessário entre
134
e147
inicia o bloco de notas para que o mesmo PID seja reutilizado (por que esse número é tão pequeno? Problema de aniversário do gadget GO-GO !)fonte
Fiz um teste por uma hora e nesse período 302 processos foram encerrados. Desses, 70 tinham um PID em comum, então eu diria que o PID é reutilizado com frequência.
fonte