Perché i numeri PID assegnati non sono sequenziali da 100?

0

Se si guarda un elenco di processi aperti, nel Monitoraggio attività o in Terminale con il comando TOP, perché i numeri PID assegnati non vengono tutti utilizzati in sequenza.

Ad esempio, questo è dovuto al fatto che alcuni processi con determinati numeri PID sono stati eseguiti e poiché sono stati interrotti, lasciando un vuoto nei numeri assegnati al PID sequenziale dei processi in esecuzione esistenti, oppure i loro processi non elencati non sono visibili nel comando Terminali del terminale, o alcuni un'altra ragione?

Capisco che dopo l'avvio iniziale con i numeri PID 0, 1 e alcuni altri vengono assegnati, i numeri PID vengono quindi allocati da 100. Come presentato da: AD: Qual è il pid massimo per Mac OS X? E Wikipedia: Process Identifier.

    
posta Cam_Aust 26.12.2016 - 12:20
fonte

1 risposta

2

I numeri di processo sono assegnati sequenzialmente, a partire da 1. Il kernel è considerato come processo # 0, ma non è realmente un processo, quindi questo è un caso speciale. Non salta a 100; è qualcosa di diverso Le lacune che vedi nella sequenza sono in effetti dovute ai processi che sono terminati. La maggior parte dei processi è ordinata; iniziano, eseguono alcune attività specifiche e, quando l'attività è terminata, escono.

Come per quella cifra "100", che ha a che fare con ciò che accade dopo aver avviato 99.998 processi. Questo è il PID massimo, quindi a quel punto il sistema ha "esaurito i numeri" e inizia a riutilizzarli a partire da 100. Ma ciò avverrà solo dopo che il computer è stato in esecuzione per un certo periodo, non durante l'avvio iniziale. Potrebbero essere necessari mesi o anche anni senza riavvio prima di esaurire PID e riavviare da 100.

    
risposta data 26.12.2016 - 19:09
fonte

Leggi altre domande sui tag