杀掉-9时会释放堆内存吗?

时间:2014-03-12 03:53:36

标签: c++ c linux

我的程序在守护进程模式下运行。如果我做"杀死-9"我的程序,我不确切地知道堆内存将自动释放,否则它们仍然存在,直到我们重新启动计算机。

请帮我咨询一下。谢谢。

3 个答案:

答案 0 :(得分:2)

该流程终止,并且已分配的所有已释放。

答案 1 :(得分:2)

除非您使用共享内存(即通过shmget分配的内存,...),否则您将释放内存。共享内存的行为类似于文件,它保留并可供进一步共享。

答案 2 :(得分:1)

程序在运行时分配内存,其中一些内存用作堆。当你使用强制kill时,程序使用的整个内存都会被释放,并且它也会被释放。