Что происходит с использованием памяти после exec * () - PullRequest
7 голосов
/ 01 сентября 2010

C родительская программа выполняет некоторую обработку и выделяет память, затем вызывает execvp (). Что будет со всей выделенной, но не освобожденной памятью? Это автоматически освобождается или остается мусором?

1 Ответ

12 голосов
/ 01 сентября 2010

exec*() полностью заменил память старого процесса новой программой. Это включает в себя всю выделенную память, так что мусор не остается позади. Но обратите внимание, что другие ресурсы, такие как файловые дескрипторы, не освобождаются и не закрываются автоматически.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...