c++ - linux 中的 force kill 命令(kill -9)是否使用 C++ 应用程序中的 new 运算符清理动态分配的内存?
问题描述
我有一个要在 Oracle Linux OS 上运行的 C++ 应用程序。
考虑一下,我用new
运算符创建了几个对象。虽然我已经使用 delete 操作符来释放它,但是 force kill 命令不会达到这个实现。
但是,如果我强制 kill ( kill -9
) 进程,动态分配的内存(使用new
运算符)会被操作系统取消分配吗?由于我无法找到直接的答案,因此我想了解一些信息。
提前致谢。
解决方案
但是,如果我强制 kill (
kill -9
) 进程,动态分配的内存(使用new
运算符)会被操作系统取消分配吗?
内存通过虚拟内存系统和内存管理单元 (MMU) 与进程绑定。因此,是的,所有内存(不仅仅是通过 分配的内存new
)都将被释放。
例外情况是全局进程间通信 (IPC) 资源,如共享内存、缓存文件等。
推荐阅读
- bash - 如何修复重定向意外语法错误
- tween - 动画相机以在 ThreeJS 中从 A 点到 B 点的圆形路径移动
- python - 如何在 Python 中的所有 json 对象中查找?
- java - List 与 Set 的流性能差异
- azure - 如何访问/转换模块输出到二头肌中的特定对象?
- c - 检查文件是否存在,C中区分大小写
- docker - 如何为 LetsEncrypt 配置 Nginx Docker 镜像?
- arrays - c-用for循环填充一维数组
- css - 水平滚动切断项目
- javascript - HTML Table - 循环遍历动态创建的行,如果特定列中的字段包含日期,则阻止行编辑