免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4703 | 回复: 12
打印 上一主题 下一主题

[Q]请问如何能够找到一个进程打开的所有fd,在重启前都flush下 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-01-18 17:00 |只看该作者 |正序浏览
{:2_166:}  当目前的进程出现异常的时候,需要重启系统,但是由于分层的原因并不清楚有多少线程开了多少fd,
目前能想到的方法是查询/proc文件系统.
先谢谢.

论坛徽章:
0
13 [报告]
发表于 2011-02-11 13:05 |只看该作者
谢了, fflush() + synch() 测试结果很好! {:2_172:}

论坛徽章:
0
12 [报告]
发表于 2011-01-24 14:00 |只看该作者
回复 8# drangon


    sync命令可以同步。

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:45
11 [报告]
发表于 2011-01-19 23:38 |只看该作者
JohnBull 发表于 2011-01-19 14:11



    人家是想flush别的进程的fd,而不是自己的fd,flush自己fd多简单啊。我最开始也是这么理解的~~

论坛徽章:
0
10 [报告]
发表于 2011-01-19 14:11 |只看该作者

  1. fflush(NULL);
  2. sync();
复制代码

论坛徽章:
0
9 [报告]
发表于 2011-01-19 11:35 |只看该作者
我理解错了~~~
koolcoy 发表于 2011-01-18 21:26



    把理解错的原因删除了,不好

论坛徽章:
0
8 [报告]
发表于 2011-01-18 22:04 |只看该作者
直接调用sync系统调用,所有文件都会flush,但如果FILE *里面的应用层buffer的话,只能通知进程自己解决了

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:45
7 [报告]
发表于 2011-01-18 21:26 |只看该作者
本帖最后由 koolcoy 于 2011-01-18 21:33 编辑

我理解错了~~~

论坛徽章:
0
6 [报告]
发表于 2011-01-18 21:12 |只看该作者
不管你是什么目的,貌似lsof是你要的功能

论坛徽章:
0
5 [报告]
发表于 2011-01-18 21:03 |只看该作者
系统都关闭了 所有的文件都关闭了吧
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP