在 CentOS(以及大多数 Linux)里,nohup 默认会把输出写到 nohup.out。
要“关闭输出”或“重定向到空设备”,有几种常见做法,按需求选择即可。
/dev/nullnohup your_command >/dev/null 2>&1 &
说明:
>/dev/null:标准输出丢弃2>&1:标准错误也丢&:后台运行✅ 推荐方式
nohup your_command >/dev/null &
错误仍可能写进 nohup.out。
nohup.out 的正确方式只要 stdout 和 stderr 都被重定向,nohup.out 就不会生成。
✅ 示例:
nohup ./my.sh >/dev/null 2>&1 &
⚠️ 不能直接“关闭”一个已经运行的 nohup 输出
只能:
kill PID
nohup your_command >/dev/null 2>&1 &
: > nohup.out
# 或
truncate -s 0 nohup.out
⚠️ 文件还在,程序仍然在写,只是大小被清空
如果是长期运行的服务,不建议用 nohup。
[Service]
StandardOutput=null
StandardError=journal
✅ 关闭 nohup 所有输出:
nohup your_command >/dev/null 2>&1 &
如果你愿意,可以把你的具体命令贴出来,我可以帮你写一条最干净的启动命令。