首页新闻找找看学习计划

truncate -s 0 清空日志文件的问题

0
悬赏园豆:30 [待解决问题]

通过 truncate -s 0 命令清空日志文件中的内容后写入新的日志,用 vim 打开日志文件会发现开头有很多 ^@ ,请问如何解决?

dudu的主页 dudu | 高人七级 | 园豆:39829
提问于:2019-03-27 11:01

日志文件是不是被其他进程打开了而没有关闭

不如隐茶去 10个月前

先用 fuser 2333.log 看看是不是文件正在被其他进程使用

不如隐茶去 10个月前

@不如隐茶去: 是 asp.net core 应用的 serilog 在访问这个 文件,我是想实现在不重启应用的情况下清空日志文件

dudu 10个月前

那就可以解释了为什么指针是不是在文件首的情况。

Shendu.CC 10个月前
< >
分享
所有回答(1)
0

^@就是'\0'表示空字符,出现这个问题应该是因为清空日志文件后,指针停留在文件中的某个位置,然后写入文件就从这个指针开始写,导致指针前面的部分全部用空字符填充。

Shendu.CC | 园豆:1771 (小虾三级) | 2019-03-27 11:55

怎么把指针移至文件的开始?

支持(0) 反对(0) dudu | 园豆:39829 (高人七级) | 2019-03-27 12:23

@dudu: 不会

支持(0) 反对(0) Shendu.CC | 园豆:1771 (小虾三级) | 2019-03-27 14:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册