免费注册 查看新帖 |

Chinaunix

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

fC8 里如何让一个程序运行30秒然后被kill??? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-26 23:09 |只看该作者 |倒序浏览
:em11: :em11: :em11:
因为对时间要的求不是很精确,我是用sleep和signal来做定时运行.

test case的话,只想让tshark运行30秒,然后tshark被kill pid,然后等10分钟,tshark程序再运行

但是我是在程序里用SYSTEM来向console发命令的,所对好像是在定时器这些方面有问题,让tshark 运行30秒,做不出来效果。

我在main()里是这么写的

system("tshark > logtext.txt &echo $! > tsharkpid"; // 发tshark命令,写 tshark pid到文件里

/*
这里要怎么写,才能让tshark 跑上30秒??????????
*/

system("kill `cat tsharkpid`"; //kill tshark by pid

sleep(600);  //让主程序等十分钟后再运行,
sigqueue(getpid(), 50, tsval);//恢复运行

论坛徽章:
1
寅虎
日期:2015-01-23 02:35:47
2 [报告]
发表于 2008-07-26 23:19 |只看该作者
while 1

sleep
然后kill

应该可以吧

论坛徽章:
0
3 [报告]
发表于 2008-07-27 00:01 |只看该作者
原帖由 cuci 于 2008-7-26 23:19 发表
while 1

sleep
然后kill

应该可以吧


嗯,我原来也是这么做的,效果是出来了,但是成效不行.

好像是sleep后, 网络的包抓的就少好多。 例如实际有90个,但是运行起来,抓的的好少.

所以我想有没能别的方法可以做出来。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP