c/c++查看资源回收情况

发布于 2022-09-06 20:38:30 字数 194 浏览 33 评论 0

一个进程含有:

  1. open
  2. doing
  3. close
  4. destory

想问一下,如果在doing的时候,突然杀掉进程,没有调用destory来释放资源。 进程死掉了,所占用的资源是不是也就没有了?

有没有方法真正的从内存占用,观察一下是否真的被释放了?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ι不睡觉的鱼゛ 2022-09-13 20:38:30

内存这个应该不用观察吧.
每个进程的内存空间都是独立的, 进程挂了, 操作系统给她分配的内存都会回收掉.

至于其他需要释放的资源怎么处理, 这里要看你说的资源都是啥.
内存/文件/锁/数据库链接/共享消息等.
如果是进程内资源, 那操作系统负责回收, 如果是跨进程的资源,比如和另外个进程共用一把锁, 这个时候进程A挂了,进程B就拿不到锁了, 如果进程B也没有锁的超时机制,那就有问题了.

更进一步, 如果你把"资源"限定在为一个一组对称的操作的话, 也不会释放. 比如进程启动初始化了一堆文件, destroy的时候应该全部删除. 这个活儿操作系统不会帮你干,进程挂了的时候也没有释放.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文