打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

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

echo "" > nohup.out

使用nohup ... & 命令启动服务器后,磁盘满了,服务宕了,然后一步一步排查是哪个文件过大,最终定位到是nohup.out文件过大,占了40G,

  df -lh #磁盘容量命令 

  du -sh #查看当前文件夹大小

  du -sh * #查看当前文件夹下所有文件/文件夹大小,当磁盘满了可以从根目录使用该命令一路排查下去,最终定位到最大的文件

  另外来说说nohup的问题,都知道nohup可以后台启动服务并且输出日志,问题是不加控制nohup是无限制的输出日志,硬盘占满是早晚的事,笔者百度了一下可以通过以下方式解决

  不生成nohup文件:

     nohup ./a.sh >/dev/null 2>&1 &  

  关键在于最后的 >/dev/null 2>&1 部分,/dev/null是一个虚拟的空设备(类似物理中的黑洞),任何输出信息被重定向到该设备后,将会石沉大海

  >/dev/null 表示将标准输出信息重定向到"黑洞"

  2>&1 表示将标准错误重定向到标准输出(由于标准输出已经定向到“黑洞”了,即:标准输出此时也是"黑洞",再将标准错误输出定向到标准输出,相当于错误输出也被定向至“黑洞”)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
linux重定向及nohup不输出的方法
java后台启动jar包
Linux后台运行 nohup & > /dev/null
Linux标准输入、标准输出、错误输出
解析 nohup java -jar xxx &
nohup命令重定向标准输出和错误输出
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服