Linux服务器下root目录中的nohup.out文件可以删除吗,删除后要怎么释放空间

Linux服务器下root目录中的nohup.out文件可以删除吗,删除后要怎么释放空间

可以删除,但是要做一些处理,上面已经讲解一些,这里做个补充,可以实寄拿来做应用。解决办法:

  1. 手动输入命令,保留nohup.out文件多少行

    例如保留10000行,可如下操作:
    log=`tail -n 10000 nohup.out`;
    echo "$log" > nohup.out
    
  2. 写定时任务,定时清理nohup.out文件

  3. 关闭当前的服务,rm -rf 直接删掉,启动服务。注意:如果直接使用rm -rf nohup.out删除,目录中没有这个文件了,但是磁盘空间还是没有减少。这是因为我们的项目正在使用中,就像我们熟悉的Windos系统打开一个文件你是无法删除的。

  4. 清空文件内容。这个不需要关闭服务,但是如果项目多,nohup.out 文件多 ,不好定位。

    第一种:echo '' > nohup.out
    第二种:cp /dev/null nohup.out
    第三种:cat /dev/null > nohup.out
    
  5. nohup java -jar test.jar > /var/log/nohup.log & 全部指定到一个文件!

  6. 每个项目都是有log的,启动日志就不需要看,直接指定到黑洞目录,在本地也不会保留。

    nohup java -jar test.jar > /dev/null 2>&1 &
    

nohup.out是后台进程的日志输出文件,是一个普通文本文件,可以直接删除,删除即释放了空间。root目录下的文件需要root用户或sudo权限的用户才能删除。直接rm -f nohup.out即可。
如果有用,望采纳,谢谢!

使用nohup启动的进程,会把所有标准输出的打印信息记录到nohup.out文件中。
如果进程长时间不结束,打印信息又多,nohup.out文件就会一直增长,直至磁盘爆满
此时,如果去rm nohup.out文件不会起效,因为进程open了文件,rm后,要进程退出才会close文件,才会真正释放磁盘空间
可以用lsof|grep delete来查询被rm但空间没有释放的文件
因此,要清理nohup.out文件占用的磁盘空间,不应该去rm文件,而应该清空文件内容,即

echo "" > nohup.out

如有用,望采纳!感谢

不知道你这个问题是否已经解决, 如果还没有解决的话:


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^