在 Debian 系统中,用 nohup 启动程序时,默认会把输出重定向到当前目录的 nohup.out 文件(如果你自己指定了日志文件,就以你指定的为准)。
清理 nohup 日志通常有以下几种常见、安全的方法。
ls -lh nohup.out
或查看进程对应的文件描述符:
lsof -p <PID> | grep txt
> nohup.out
或
truncate -s 0 nohup.out
✅ 优点:
cat /dev/null 清空cat /dev/null > nohup.out
例如:
nohup app > app.log 2>&1 &
清理方式一样:
> app.log
rm nohup.out
❌ 问题:
logrotate(最规范)示例 /etc/logrotate.d/myapp:
/var/log/myapp.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
copytruncate 适合 nohup 程序。
nohup app >> app.log 2>&1 &
配合 logrotate 使用。
不要 rm,用
> nohup.out或truncate -s 0清空,长期用 logrotate。
如果你愿意,可以告诉我:
我可以帮你写一套完整的日志管理方案。