清除nohup生成的日志时,无法释放日志所占空间

2024-10-12 00:48:15

1、以nohup命令启动一个jar包为例,如图是一个简单的shell启动脚本,其中nohup启动命令为:nohup java -jar XXXXX.jar >logs/console.log 2>&1 & ,此处以nohup命名启动jar包,并且让输出重定向都logs/nohup.out文件中

清除nohup生成的日志时,无法释放日志所占空间

3、可以发现,这种现象是典型的磁盘空间未释放的缘故;内容清空,但实际上写入的位置并没有重置到文件起始位置,为覆盖写;因此重新写入时前面都以null值占位,因此可以认为是以nohup启动,重定向到console.log文件时出的问题;

4、重新看启动命令:nohup java -jar XXXXX.门钙蹲茌jar >logs/console.log 2>稆糨孝汶;&1 & ,重定向写入到console.log文件,用了一个">"符号,在linux系统中,尖括号代表的是数据转移的作用,">"表示覆盖写,">>"表示追加写,因此,此处应该使用两个尖括号,表示追加写入,这样在清空文件时,写入位置置零,追加写入则从起始位置开始写入。

猜你喜欢