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

2025-10-09 12:45:26

1、首先,来看下run.sh脚本

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

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

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

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

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

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、如果我们只写标准输出的重定向,会怎样。 

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

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

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

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

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

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

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

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

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢