|
发表于 2006-9-11 20:11:29
|
显示全部楼层
Post by looren.1912
现在问题是清空之后的log文件里面都是“0”,产生日志的程序是个C++编写的程序,据说是那个程序写日志时有个文件指针在,即使文件清空了,程序写日志的指针没清回0,所以日志里都是0,10M后就不能写入log了,不知各位听明白没?焦头烂额呀^_^
这个没办法了,属于程序设计错误,这可没有办法让其他的进程rewind那个C++程序的文件指针,我建议你联系程序作者改进程序。一般LOG程序打开LOG时使用open函数理应使用O_APPEND标志,这样做可以使write调用每次写时会检查一次文件的大小,再自动更新一次文件指针,然后再写,这样可避免上面的情况。
另一个思路:不清空LOG, 使用head, tail,sed,dd 等工具,将每个10M的LOG移到新的地方? |
|