linux系统IO操作写日志文件的奇怪问题?

happyzeng79 2016-12-22 04:59:25
开发好一个网络客户端应用软件,应用软件是使用QT开发,网络应用API库使用C语言开发,以so库的形式供QT
调用,该库封装了一些与服务器进行业务通信的代码。该库有一个基本功能:日志记录功能,记录相关操作至一文
本文件中,当超过一定大小时,又从头开始记录。该日志记录也是很简单的使用C标准库的fopen,fwrite,fclose
等标准函数来把内容写入到一文件中。
运行时,该库网络功能一切正常,但发现日志记录功能有个奇怪的现象,刚开始运行时查看日志文件准确观察到
所发生的各网络操作记录,奇怪的问题是,当运行一段时间后(约10个小时),查看日志文件没有记录到之后所发
生的各网络操作,到某个时间段后之后所有的操作都没有记录到日志文件。
从服务端的日志记录(服务端的日志记录代码与客户端的相同,已经长时间运行1个月了均未有问题)中可以确定
该客户端还是在正常工作中,有定时接收到该客户端的网络请求。从几次错误的情况来看,该错误和日志文件的大
小没有关联。发现该奇怪问题后,在该日志记录函数中增加了一个功能,把写日志的事件也写入到另一日志文件中
。修改后测试,运行一段时间后,但相同时间后,该新增的日志文件也不再用之后的操作记录。
关于该奇怪现象的原因,一个推测是该进程运行一段时间后无权限写日志文件了。想请教各位,
该奇怪现象的问题原因是什么呢?有什么样的手段方法去跟踪出现问题时的进程与系统的状态?
...全文
254 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧