给出进程的kill命令时如何处理分配的内存?

时间:2014-09-21 17:09:28

标签: c++ unix operating-system

假设我正在运行我的应用程序。在我的代码内存中,已经为各种对象分配了内存。现在我在我的unix终端上为进程执行kill命令。在那种情况下,所有内存释放过程是如何发生的?这是否完全由操作系统通过为进程释放整个内存来处理?

1 个答案:

答案 0 :(得分:3)

通常,在进程终止时,此进程分配的所有资源都将通过操作释放 系统。 (见3.3.2 操作系统概念作者:Abraham Silberschatz,Peter B. Galvin,Greg Gagne  http://www.amazon.com/Operating-System-Concepts-Abraham-Silberschatz/dp/0470128720

kill命令不会" kill"过程,但发送信号给它。如果信号是 SIGKILL (kill -9 PID),则无法执行任何操作。进程无条件地被杀死。如果信号是 SIGTERM (默认),您可以提供或忽略它。请参阅:http://en.wikipedia.org/wiki/Unix_signal