Secondo wikipedia , un processo di zombi è un processo che ha completato l'esecuzione, ma ha ancora una voce nel processo tavolo. In altre parole, un processo di zombi ha completato l'esecuzione, ma non è stato ancora ripulito.
Al termine di un processo, è necessario restituire il codice di ritorno al processo padre. Normalmente, questo accade immediatamente, quindi non vedi il processo di zombi. Tuttavia, a volte, il processo genitore non collabora e lo zombie rimane nella tabella del processo a tempo indeterminato.
Se vuoi eliminare un processo di zombi, hai tre opzioni :
- Wait. Spero che si risolva da solo.
- Invia un SIGCHLD al genitore dello zombie. Se si comporta correttamente, recupererà il codice di ritorno del processo zombie e il sistema potrà quindi raccogliere il processo zombie.
- Elimina il processo genitore. Quando uccidi un processo, i suoi figli vengono adottati da init, che pulirà tutto per te.