nohup命令输出日志的方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nohup命令输出日志的方式相关的知识,希望对你有一定的参考价值。

参考技术A nohup ./start.sh & 默认输出到nohup.out文件

nohup ./start.sh >output 2>&1 & 指定输出到output文件

nohup java -jar xxx.jar >/dev/null 2>&1 & 不输出日志(避免日志太大)

操作系统中有三个常用的流: 0:标准输入流 stdin 1:标准输出流 stdout 2:标准错误流 stderr 2>&1:表示把标准错误2重定向到标准输出中1中,输出到>文件中 (> console.txt,实际是 1>console.txt的缩写)

Linux之nohup命令

nohup命令 可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端

无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到$HOME/nohup.out文件中。如果没有文件能创建或打开以用于追加,那么 command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。

命令格式

nohup Command [ Arg … ] [ & ]

参数说明

  • Command:要执行的命令。
  • Arg:一些参数,可以指定输出文件。
  • &:让命令在后台执行,终端退出后命令仍旧执行。

命令后台执行,正常输出和错误输出到a.log文件

> nohup command > a.log 2>&1 &

2>&1 解释

将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 runoob.log 文件中。

  • 0 – stdin (standard input,标准输入)
  • 1 – stdout (standard output,标准输出)
  • 2 – stderr (standard error,标准错误输出)

后台下载文件

> nohup wget https://repo.huaweicloud.com/java/jdk/8u172-b11/jdk-8u172-linux-x64.tar.gz &
// 查看后台的进程
jobs
[1]+  Running                 nohup wget https://repo.huaweicloud.com/java/jdk/8u172-b11/jdk-8u172-linux-x64.tar.gz &

下载过程中,输出在nohup.out文件中,可以使用tail -f nohup.out动态查看

后台运行SpringBoot项目

> nohup java -jar rumenz.jar &

后台执行bash命令

> nohup bash -c 'cal && ls' > output.txt