免费注册 查看新帖 |

Chinaunix

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

多次打开同一个文件问题! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-12 11:25 |只看该作者 |倒序浏览
有一个日志文件,没5秒钟会有追加的日志写入此文件,而另一个进程需要打开此文件分析后追加的日志的内容,
(日志文件不断增加变化),考虑用管道时,依然要分析新追加的日志内容,老是打开文件错误!请高手指教!
或者是我的方法出错了?谢谢!

论坛徽章:
0
2 [报告]
发表于 2006-05-12 11:34 |只看该作者
文件不需要不停的打开,可以只打开一次,只不过你写的时候要加锁

论坛徽章:
0
3 [报告]
发表于 2006-05-12 13:23 |只看该作者
tail -f your_log_file | filter

论坛徽章:
0
4 [报告]
发表于 2006-05-12 13:39 |只看该作者

回复 3楼 莫愁 的帖子

谢谢,莫愁和,moon大大的回复,tailf -f 是个不错的办法!写入日志的进程是另外一个程序,没办法修改的,
读取和分析日志的程序是自己做的,所以moon的方法可能无法实现了!

论坛徽章:
0
5 [报告]
发表于 2006-05-12 14:12 |只看该作者
还有给问题:如何去捕获一个正在运行的程序的句柄呢?我想通过另一个后台程序向另一个程序(媒体播放程序)发送一些消息,比如暂停播放,恢复播放等消息,

论坛徽章:
0
6 [报告]
发表于 2006-05-12 14:21 |只看该作者
原帖由 camelli 于 2006-5-12 14:12 发表
还有给问题:如何去捕获一个正在运行的程序的句柄呢?我想通过另一个后台程序向另一个程序(媒体播放程序)发送一些消息,比如暂停播放,恢复播放等消息,

unix 下叫进程号,你可以用发信号+文件共享(或内存共享)实现

论坛徽章:
0
7 [报告]
发表于 2006-05-12 14:44 |只看该作者
原帖由 isnowran 于 2006-5-12 14:21 发表

unix 下叫进程号,你可以用发信号+文件共享(或内存共享)实现


获得进程号就ok?能说得详细点不?或者有什么参考书可以参考呢?谢谢~!

论坛徽章:
0
8 [报告]
发表于 2006-05-12 17:43 |只看该作者
原帖由 camelli 于 2006-5-12 14:12 发表
还有给问题:如何去捕获一个正在运行的程序的句柄呢?我想通过另一个后台程序向另一个程序(媒体播放程序)发送一些消息,比如暂停播放,恢复播放等消息,

这个和媒体播放程序是相关的吧,首先你要知道媒体播放程序是否有这样的接口,第二是调用方法。
不同平台,不同程序是不同的。

论坛徽章:
0
9 [报告]
发表于 2006-05-12 18:27 |只看该作者
原帖由 camelli 于 2006-5-12 13:39 发表
谢谢,莫愁和,moon大大的回复,tailf -f 是个不错的办法!写入日志的进程是另外一个程序,没办法修改的,
读取和分析日志的程序是自己做的,所以moon的方法可能无法实现了!

怎么不可以,日志当然要一个独立的进程(这样与主进程无关,即使瘫痪也没关系)。主程序可以通过pipo,udp,tcp等实现向日志进程发信息。我现在就有一个例子,只不过不是按时间划分,而是根据文件的行数来分割文件,如满5000行换个文件写

论坛徽章:
0
10 [报告]
发表于 2006-05-12 23:29 |只看该作者
原帖由 soul_of_moon 于 2006-5-12 11:34 发表
文件不需要不停的打开,可以只打开一次,只不过你写的时候要加锁

写时也不用加锁,加锁目的是什么呢?另外一个进程打开文件是读数据不会破坏数据。
读文件的进程可以一直循环读取,即使到了文件尾部也不要退出,下次写进程再次写入数据时读进程又能读到数据,这是应为文件的大小放在节点索引中,而进程访问文件的文件偏移量在文件表的表项中。
不知这样说你是否明白;还有你的读进程只要打开一次日值文件不要反复打开关闭。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP