nohup 命令默认会把输出写到当前目录的 nohup.out 文件里。如果你不想产生日志,或者想关闭/丢弃日志,可以用下面几种方式。
nohup your_command > /dev/null 2>&1 &
说明:
> /dev/null:标准输出丢弃2>&1:错误输出也丢弃&:后台运行✅ 完全不产生 nohup.out
nohup your_command > /dev/null 2>error.log &
nohup your_command > my.log 2>&1 &
> nohup.out
或
truncate -s 0 nohup.out
只能重新启动进程,用上面的 /dev/null 方式。
如果进程已经在跑,且没法重启:
# 找到进程 PID
ps -ef | grep your_command
# 清空它的 nohup.out
> /path/to/nohup.out
⚠️ 注意:
nohup your_command >> /var/log/app.log 2>&1 &
或配合 logrotate 管理日志。
如果你愿意,可以告诉我:
我可以给你更精确的命令。