温馨提示×

centos nohup日志怎么关闭输出

小樊
41
2026-07-09 03:21:29
栏目: 智能运维

在 CentOS(以及大多数 Linux)里,nohup 默认会把输出写到 nohup.out
要“关闭输出”或“重定向到空设备”,有几种常见做法,按需求选择即可。


✅ 最常用:把输出重定向到 /dev/null

1️⃣ 关闭 标准输出 + 标准错误

nohup your_command >/dev/null 2>&1 &

说明:

  • >/dev/null:标准输出丢弃
  • 2>&1:标准错误也丢
  • &:后台运行

推荐方式


2️⃣ 只关闭标准输出,保留错误日志

nohup your_command >/dev/null &

错误仍可能写进 nohup.out


✅ 不生成 nohup.out 的正确方式

只要 stdout 和 stderr 都被重定向nohup.out 就不会生成。

✅ 示例:

nohup ./my.sh >/dev/null 2>&1 &

✅ 已有 nohup 进程,如何停掉输出?(不能动态关闭)

⚠️ 不能直接“关闭”一个已经运行的 nohup 输出
只能:

方法一:重新启动(推荐)

kill PID
nohup your_command >/dev/null 2>&1 &

方法二:清空 nohup.out(不是关闭)

: > nohup.out
# 或
truncate -s 0 nohup.out

⚠️ 文件还在,程序仍然在写,只是大小被清空


✅ systemd / crontab 场景(更好方案)

如果是长期运行的服务,不建议用 nohup

推荐:systemd

[Service]
StandardOutput=null
StandardError=journal

✅ 总结(直接用这个就行)

关闭 nohup 所有输出:

nohup your_command >/dev/null 2>&1 &

如果你愿意,可以把你的具体命令贴出来,我可以帮你写一条最干净的启动命令。

0