怎么查找nohup输出的日志文件位置

  • 原创
  • |
  • 浏览:5622
  • |
  • 更新:

一起来了解下nohup命令输出日志的文件位置

工具/原料

  • SecureCRT 7.3
  • Centos 7.5

方法/步骤

  1. 1

    首先,来看下run.sh脚本

    "echo $HOME" 这是一条正常命令

    "cat x”因为x文件是不存在的,所以会抛出异常

    用nohup命令直接运行,可以看到在运行命令的当前目录生成了一个nohup.out,这就是默认的日志净注随输出文件。再看下内容:

    '/root' 和  'cat: x: No such file or directory'分别对应两条命令。

    怎么查找nohup输出的日志文件位置
  2. 2

    如果想要存放在自定义的日志文件里, 那我们要先来熟悉下一些概念:

    标准输出 : STDOUT, 文件描述符是1,默认输出显示在终端

    标准错误 : STDERR,文件描述符是2, 默认输出显示在终端

    >文件五兼名: 先清空文件,再添加信息

    >>文件名: 在文件末尾追加信息

    1>文件名(1可以省略 >文件名):先清空文件,再添加标准输出信息

    2>文件名: 先清空文件,再添加标准错误信息

    1>>文件名(1可以省略 >文件名): 在文件末尾追加标准输出信息

    2>>文件名: 在文件末尾追加标准错误信息

     

    nohup ./ruh.sh 1>std.log 2>error.log 

    这条命令的含义是将标准输返胆出重定向到到std.log,  标准错误信息重定向到到error.log

    怎么查找nohup输出的日志文件位置
  3. 3

    如果我们只写标准输出的重定向,会怎样。 

    nohup ./run.sh 1>std.log, 可以看到标准输出被重定向大std.log, 同时标准错误也被重定向到std

    怎么查找nohup输出的日志文件位置
  4. 3
    此文章未经许可获取自百度经验
  5. 4

    如果我们只写标准错误的重定向,又会怎样。 

    nohup ./run.sh 2>error.log, 可以看到标准输出被重定到nohup.out, 同时标准错误被重定向到error.log

    怎么查找nohup输出的日志文件位置
  6. 5

    如果要将标准输出重定向到标准错误的日志中

    nohup ./run.sh 2>error.log 1>&2

    &2的含义是当前标准错误的重定向文件,那就是error.log

    怎么查找nohup输出的日志文件位置
    END

注意事项

  • 不加nohup时, 默认输出是在屏幕终端;加了nohup后,默认输出则是在用户当前所在目录的nohup.out文件
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部