2010-11-26 26 views
1

我在unix平台上。儿童进程中的mem泄漏怎么办

在进程终止时清理进程带内存的内存。

怎么样一个过程,产生了一个孩子,其中一个孩子有一个memleak。 在子进程终止时是否清理泄漏的内存?或者现在这个记忆会与父进程保持一致。

感谢

回答

8

由子进程分配的内存只存在于子进程的虚拟地址空间,而不是父母。一旦子进程终止或通过exec功能家族中的一个取代新的程序映像,它就会被释放。

这与共享公共虚拟地址空间的线程形成鲜明对比,在线程退出并保持其他线程可用的情况下,在新线程中进行的分配将保持不变。

+0

+1虽然你应该提及一些像`vfork`和`clone`这样的调用导致共享地址空间的事实。 – casablanca 2010-11-26 02:27:25