【发布时间】:2010-09-15 19:01:26
【问题描述】:
很抱歉重复一个已反复提出的问题,但我找不到具体提及记忆问题的内容。如果一个进程以 _exit(0) 或 _Exit(0) 终止,它的内存块会丢失给操作系统吗? 谢谢, -nuun
【问题讨论】:
很抱歉重复一个已反复提出的问题,但我找不到具体提及记忆问题的内容。如果一个进程以 _exit(0) 或 _Exit(0) 终止,它的内存块会丢失给操作系统吗? 谢谢, -nuun
【问题讨论】:
对于几乎所有不会发生的消费者 O/S。现代多进程操作系统将在进程关闭时释放进程可能获取的任何资源(内存、锁、打开的文件等)。因此,如果我只是在启动时获取它们(而不是在运行时可能重复),我通常认为内存或资源泄漏“不算”为泄漏。
但是,仍有许多嵌入式/实时平台并非如此。如果您的程序可能在其中一个上运行,那么您应该谨慎地释放获得的资源。但即使在那里,每次使用后重新启动设备通常更容易......
【讨论】:
在任何体面的现代 O/S(Unix、Windows 等)上都没有 - 当进程死亡时,O/S 将回收进程的内存,无论它死得多么干净。
【讨论】:
一般来说,不会。操作系统会为我们处理这些事情。
【讨论】: