как насчет утечки памяти в дочернем процессе - PullRequest
1 голос
/ 26 ноября 2010

Я на платформе Unix.

Память процесса с утечкой памяти очищается при завершении процесса.

Как насчет процесса, который породил ребенка, у которого ребенокmemleak.Будет ли очищенная память очищена при завершении дочернего процесса?Или эта память теперь будет привязана к родительскому процессу.

Спасибо

1 Ответ

8 голосов
/ 26 ноября 2010

Память, выделенная дочернему процессу, существует только в виртуальном адресном пространстве дочернего процесса, но не в родительском. Он будет освобожден, как только дочерний процесс завершит работу или заменит себя новым образом программы через одну из функций семейства exec.

Это в отличие от потоков, которые совместно используют общее виртуальное адресное пространство, и где выделения, сделанные в новом потоке, будут сохраняться после выхода из потока и оставаться доступными для других потоков.

...