c/c++查看资源回收情况
一个进程含有:
- open
- doing
- close
- destory
想问一下,如果在doing的时候,突然杀掉进程,没有调用destory来释放资源。 进程死掉了,所占用的资源是不是也就没有了?
有没有方法真正的从内存占用,观察一下是否真的被释放了?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
内存这个应该不用观察吧.
每个进程的内存空间都是独立的, 进程挂了, 操作系统给她分配的内存都会回收掉.
至于其他需要释放的资源怎么处理, 这里要看你说的资源都是啥.
内存/文件/锁/数据库链接/共享消息等.
如果是进程内资源, 那操作系统负责回收, 如果是跨进程的资源,比如和另外个进程共用一把锁, 这个时候进程A挂了,进程B就拿不到锁了, 如果进程B也没有锁的超时机制,那就有问题了.
更进一步, 如果你把"资源"限定在为一个一组对称的操作的话, 也不会释放. 比如进程启动初始化了一堆文件,
destroy
的时候应该全部删除. 这个活儿操作系统不会帮你干,进程挂了的时候也没有释放.