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