È possibile pianificare un processo di zombie?

0

Poiché i processi zombi sono processi che hanno tutte le risorse liberate ma ancora esistenti nella tabella di processo perché i loro genitori potrebbero chiedere il loro stato di ritorno, è uno stato separato in Linux come pronto, in attesa ecc. oppure è come un normale processo di attesa in la tabella e può essere programmata anche?

    
posta Abhishek Kumar 14.09.2016 - 21:55
fonte

1 risposta

3

Una volta che il processo Linux (o UNIX) entra nello stato 'Z' come indicato dal comando:

ps aux | grep Z

Questo processo è essenzialmente morto e non riceverà alcuna ulteriore allocazione di clock della CPU dallo scheduler del kernel, TRANNE per passare un ultimo respiro di morte di un valore di codice di uscita al genitore (se il genitore è ancora in giro).

È sospeso perché ha un codice di uscita che è in attesa di un processo genitore da raccogliere. Spesso, anche il processo padre è andato via, quindi un tale processo di zombi può essere ucciso solo per liberare risorse aggiuntive.

Succede perché il processo figlio muore e il genitore non reagisce correttamente a questo evento. Convenzionalmente, il genitore deve chiamare waitpid o attendere la funzione per ottenere lo stato di uscita del bambino. In questo momento scompare zombi. Tuttavia, alcuni programmi dimenticano di chiamare waitpid, o lo fanno qualche tempo dopo.

Tale processo può essere ucciso.

(Fonte: link )

    
risposta data 14.09.2016 - 22:23
fonte

Leggi altre domande sui tag