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