Os IDs do processo serão reciclados? E se você atingir o id máximo?

7

As IDs de processo estão aumentando estritamente, mas se o sistema for executado por tempo suficiente e houver muitos processos sendo finalizados e iniciados, você poderá alcançar o limite do tipo integral subjacente (no meu sistema, parece ser um sinal assinado). int) onde não existe maior pid. Isso causaria a reciclagem de IDs antigos não utilizados (de processos concluídos) (ou seja, entregues uma segunda vez)? E se alguém estiver esperando que o pid termine, mas não faça o check-in em um tempo looong ?

    
por bitmask 13.12.2011 / 02:51

1 resposta

7

IDs de processo não estão aumentando estritamente em qualquer sistema operacional semelhante ao UNIX que eu conheço. Sua pergunta é baseada em uma suposição falsa.

Os únicos requisitos sobre IDs de processo são:

A process ID shall not be reused by the system until the process lifetime ends. In addition, if there exists a process group whose process group ID is equal to that process ID, the process ID shall not be reused by the system until the process group lifetime ends. A process that is not a system process shall not have a process ID of 1.

    
por 13.12.2011 / 03:26