【问题标题】:dangers of _exit() - memory leak?_exit() 的危险 - 内存泄漏?
【发布时间】:2010-09-15 19:01:26
【问题描述】:

很抱歉重复一个已反复提出的问题,但我找不到具体提及记忆问题的内容。如果一个进程以 _exit(0) 或 _Exit(0) 终止,它的内存块会丢失给操作系统吗? 谢谢, -nuun

【问题讨论】:

    标签: memory-leaks exit-code


    【解决方案1】:

    对于几乎所有不会发生的消费者 O/S。现代多进程操作系统将在进程关闭时释放进程可能获取的任何资源(内存、锁、打开的文件等)。因此,如果我只是在启动时获取它们(而不是在运行时可能重复),我通常认为内存或资源泄漏“不算”为泄漏。

    但是,仍有许多嵌入式/实时平台并非如此。如果您的程序可能在其中一个上运行,那么您应该谨慎地释放获得的资源。但即使在那里,每次使用后重新启动设备通常更容易......

    【讨论】:

      【解决方案2】:

      在任何体面的现代 O/S(Unix、Windows 等)上都没有 - 当进程死亡时,O/S 将回收进程的内存,无论它死得多么干净。

      【讨论】:

        【解决方案3】:

        一般来说,不会。操作系统会为我们处理这些事情。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-01-11
          • 2012-06-26
          • 1970-01-01
          • 1970-01-01
          • 2012-07-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多