当给出进程的终止命令时,如何处理分配的内存
How is allocated memory handled when kill command for a process is given?
假设我正在运行我的应用程序。在此期间,在我的代码中为各种对象分配了内存。现在,我在unix终端上为进程执行一个kill命令。在这种情况下,所有的内存释放过程是如何进行的?这是否完全由操作系统通过为进程释放整个内存来处理?
通常,在进程终止时,通过操作系统(见3.3.2操作系统概念作者:Abraham Silberschatz、Peter B.Galvin、Greg Gagnehttp://www.amazon.com/Operating-System-Concepts-Abraham-Silberschatz/dp/0470128720)
kill命令不是"kill"进程,而是向它发送信号。如果信号是SIGKILL(kill-9PID),你什么都做不了。进程被无条件地扼杀。如果信号是SIGTERM(默认值),您可以提供或忽略它。请参阅:http://en.wikipedia.org/wiki/Unix_signal
相关文章:
- 警告处理为错误这里有什么问题
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 处理多个异常集合的C++方法
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 使用流处理接收到的数据
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 基于多个条件处理地图中的所有元素
- 如何用数字处理log(0)
- SSL上的`curl_easy_send`和`curl_asy_recv`:如何处理`CURLE_AGAIN`
- 错误处理.将系统错误代码映射到泛型
- 从文本文件中读取时钟时间和事件时间并进行处理
- 在运行时处理类型擦除的数据-如何不重新发明轮子
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- 用于矢量处理的多个线程
- 对字符串进行排序时,在c++中处理sort()
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- 处理除以零会导致<csignal>意外行为
- 是否可以在c++中处理字符串流中的各个元素
- 在简单的外壳中进行批处理处理