En la programación de Linux, ¿por qué el proceso principal espera y recicla el estado de salida del proceso secundario? ¿Cuáles son las consecuencias de no hacer esto?
Existen las siguientes situaciones:
El proceso padre nunca sale: en este caso, si el proceso hijo sale y el proceso padre no recopila el estado de salida del proceso hijo, entonces esto El proceso hijo se convertirá en un proceso zombie, que siempre ocupará una pequeña cantidad de recursos y será dañino;
El proceso padre sale antes que el proceso hijo: en este caso, cuando el proceso padre sale, el proceso hijo que aún se está ejecutando El proceso se convertirá en huérfano, y el proceso huérfano será alojado por el proceso init, y el proceso init será responsable de reciclar el proceso huérfano al final.
El proceso padre sale más tarde que el proceso hijo: cuando el proceso hijo sale primero, se convertirá en un proceso zombie y ocupará una pequeña cantidad de recursos; cuando el proceso padre salga nuevamente, el proceso hijo cambiará; de un proceso zombie a un proceso huérfano El proceso de inicio reciclará a estos huérfanos muertos y los huérfanos muertos descansarán en paz. Entonces, los huérfanos muertos podrán descansar en paz;