温馨提示×

nohup日志默认路径在哪

小樊
46
2026-07-21 17:30:37
栏目: 编程语言

nohup 命令的日志默认路径和行为如下:

默认输出位置

  • 标准输出(stdout)和标准错误(stderr) 默认会被重定向到当前目录下的 nohup.out 文件。
  • 如果当前目录不可写(如权限不足),则会写入 用户主目录($HOME)下的 nohup.out

示例

nohup ./my_script.sh
  • 会在当前目录生成 nohup.out,记录所有输出。

自定义日志路径

建议显式指定输出文件,避免依赖默认行为:

nohup ./my_script.sh > my.log 2>&1 &
  • > my.log:标准输出重定向到 my.log
  • 2>&1:标准错误合并到标准输出
  • &:后台运行

其他相关说明

  1. 查看日志

    tail -f nohup.out   # 实时查看
    
  2. 避免生成 nohup.out

    • 重定向到 /dev/null(丢弃输出):
      nohup ./my_script.sh > /dev/null 2>&1 &
      
  3. 注意nohup 仅忽略 SIGHUP 信号,不会自动后台运行,通常需要配合 & 使用。

总结

场景 日志位置
未指定重定向,当前目录可写 ./nohup.out
当前目录不可写 ~/nohup.out
手动指定(推荐) 自定义路径,如 my.log

如有其他运行环境细节(如通过系统服务、容器等启动),可以进一步说明,我可以帮你具体分析。

0