Я знаю, что когда я вызываю один из системных вызовов exec() в Linux, он заменит текущий выполняемый процесс новым изображением. Поэтому, когда я развиваю новый процесс и запускаю exec(), ребенок будет заменен новым процессом.
Что происходит с любой памятью, которую я выделил из кучи? Скажем, я хочу разобрать произвольное количество команд и отправить его в exec(). Чтобы удержать это произвольное число, мне, вероятно, придется выделить память в какой-то момент, так как я не думаю, что смогу сделать это правильно со статическими массивами, поэтому я, скорее всего, буду использовать malloc() или что-то подобное.
Мне нужно сохранить эту память до тех пор, пока я не позвоню exec(), но exec() никогда не вернется.
Восстановлена ли память операционной системой?