Qué sucede con la memoria mal asignada después de que exec () cambie la imagen del programa?

Sé que cuando llamo a uno de losexec() system llama en Linux que reemplazará el proceso actualmente en ejecución con una nueva imagen. Entonces, cuando bifurco un nuevo proceso y ejecutoexec(), el niño será reemplazado por el nuevo proceso.

¿Qué le sucede a cualquier memoria que haya asignado del montón? Digamos que quiero analizar un número arbitrario de comandos y enviarlo aexec(). Para mantener este número arbitrario, es probable que tenga que asignar memoria en algún momento, ya que no creo que pueda hacerlo correctamente con matrices de tamaño estático, por lo que es probable que usemalloc() o algo equivalente.

Necesito mantener esta memoria asignada hasta después de llamar aexec(), peroexec() nunca regresa.

¿El sistema operativo recupera la memoria?

Respuestas a la pregunta(2)

Su respuesta a la pregunta