温馨提示×

linux怎么清nohup日志

小樊
49
2026-09-15 16:22:19
栏目: 智能运维

在 Linux 下,nohup 通常配合 > logfile 2>&1 & 或默认生成 nohup.out 来记录日志。清空 nohup 日志的常见方法如下:


一、清空 nohup.out(最常见)

方法 1:使用 >

> nohup.out

方法 2:使用 truncate

truncate -s 0 nohup.out

方法 3:使用 cat /dev/null

cat /dev/null > nohup.out

✅ 以上方法不会中断正在运行的进程,只是清空文件内容。


二、如果你指定了自己的日志文件

例如启动命令是:

nohup python app.py > app.log 2>&1 &

清空日志:

> app.log
# 或
truncate -s 0 app.log

三、定期自动清理(可选)

使用 logrotate(推荐生产环境)

示例 /etc/logrotate.d/myapp

/path/to/nohup.out {
    size 100M
    rotate 5
    copytruncate
    missingok
    notifempty
}

copytruncate 可以在不清退进程的情况下截断日志。


四、⚠️ 注意事项

  • 不要直接 rm nohup.out
    如果进程还在写,文件删了但句柄还在,磁盘空间不会释放,日志也会“消失但仍在写”。

  • 如果你已经 rm 了:

    lsof | grep deleted
    

    找到对应 PID,重启进程或清空原文件。


如果你愿意,可以告诉我:

  • 用的是哪种启动命令
  • 日志文件路径
  • 是否是生产环境

我可以给你更合适的方案。

0