¿Cuál es la diferencia entre usar _exit () y exit () en un fork-exec convencional de Linux?

He estado tratando de descubrir cómo se usa el mecanismo fork-exec dentro de Linux. Todo sucedía según el plan hasta que algunas páginas web comenzaron a confundirme.

Se dice que un proceso hijo debe usar estrictamente_exit() en lugar de un simpleexit() o un retorno normal demain().

Como sé, Linux shell fork-execs cada uno de los comandos externos; suponiendo que lo que dije anteriormente es cierto, la conclusión es que ninguno de estos comandos externos ni ninguna otra ejecución que ocurra dentro del shell de Linux puede hacer un retorno normal.

Wikipedia y algunas otras páginas web afirman que tenemos que usar_exit() solo para evitar que un proceso secundario provoque la eliminación de los archivos temporales de los padres, mientras que es probable que se produzca una doble descarga de buffers estándar. aunque entiendo lo primero, no tengo idea de cómo un doble vaciado de buffers podría ser perjudicial para un sistema Linux.

He pasado todo el día en esto ... Gracias por cualquier aclaración.

Respuestas a la pregunta(4)

Su respuesta a la pregunta