怎么让 Linux 进程在后台运行?

Posted Java技术栈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么让 Linux 进程在后台运行?相关的知识,希望对你有一定的参考价值。

点击关注公众号,Java干货及时送达

1.命令简介

nohup 的作用可以将程序以忽略挂起信号(SIGHUP)的方式运行。常见的用法是和 & 命令一同使用,将命令放置到后台运行,即使终端挂掉,进程会忽略挂起信号,继续运行。

将程序放到后台运行,一般有两种方式:

(1)command &:后台运行,关掉终端会停止运行。

(2)nohup command & :后台运行,关掉终端也会继续运行。

「注意:」

(1)如果使用nohup执行程序未显示进行标准输出重定向,则标准输出默认重定向当前工作目录的 nohup.out 文件中。如果当前工作目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开用于追加,那么 command 参数指定的命令不可调用。

(2)如果标准错误未显示重定向,那么标准错误默认重定向到与标准输出相同的文件。

2.命令格式

nohup COMMAND [ARGS]
nohup OPTION

3选项说明

--help
 显示帮助信息并退出
--version
 显示版本信息并退出

4.常用示例

(1)使用nohup 命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件。

nohup ./test.sh &

(2)标准输出与标准错误输出重定向。

nohup ./test.sh > test.log 2>&1 &

(3)指定输出文件, 输出被重定向到output.txt文件中

[deng@itcast ~]$ nohup bash a.sh &> error.txt
[deng@itcast ~]$ 

注意:

1)2>&1 标识标准错误输出重定向等同于标准输出重定向,即标准错误输出也重定向到文件test.log;

2)& 命令是命令放在后台执行,需要放在命令的最后面。

另外,关注公众号Java技术栈,在后台回复:面试,可以获取我整理的 Linux 系列面试题和答案,非常齐全。

原文链接:https://blog.csdn.net/K346K346/article/details/79985071

版权声明:本文为CSDN博主「恋喵大鲤鱼」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。



关注Java技术栈看更多干货

获取 Spring Boot 实战笔记!

以上是关于怎么让 Linux 进程在后台运行?的主要内容,如果未能解决你的问题,请参考以下文章

怎么让 Linux 进程在后台运行?

linux中如何把一个进程放在后台运行

linux如何设置程序开机启动后台运行?

让linux进程后台运行会话断开不退出

Linux 技巧:让进程在后台可靠运行的几种方法

不可不知:Linux让进程在后台可靠运行的方法