在 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

版权声明:本文为作者原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原创文章,作者:老C,如若转载,请注明出处:https://www.code404.icu/1418.html

发表评论

登录后才能评论