首页 新闻 会员 周边

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

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

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

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

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

不如隐茶去 5年前

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

不如隐茶去 5年前

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

dudu 5年前

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

Shendu.CC 5年前
< >
分享
所有回答(1)
0

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

Shendu.CC | 园豆:2138 (老鸟四级) | 2019-03-27 11:55

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

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

@dudu: 不会

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