nohup 默认会把程序输出写到 nohup.out,时间一长很容易变得非常大。常见处理方式如下:
nohup your_command > app.log 2>&1 &
使用 logrotate(系统级,最稳妥)
示例 /etc/logrotate.d/myapp:
/path/to/app.log {
size 100M
rotate 5
compress
missingok
notifempty
copytruncate
}
copytruncate:不重启进程直接截断日志(适合 nohup): > nohup.out
# 或
truncate -s 0 nohup.out
⚠️ 不要直接 rm nohup.out,进程仍持有文件句柄,磁盘不会释放
mv nohup.out nohup.out.bak
: > nohup.out
# 后续可压缩或删除 bak
nohup your_command > /dev/null 2>&1 &
systemd service(自带日志管理 journalctl)supervisorpm2(Node 项目)如果你愿意,可以告诉我:
我可以给你一套最合适的日志方案。