linux后台运行命令nohup和&的区别

Posted andylhc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux后台运行命令nohup和&的区别相关的知识,希望对你有一定的参考价值。

 

1.   &的意思是在后台运行, 什么意思呢?  意思是说, 当你在执行 ./a.out & 的时候, 即使你用ctrl C,  那么a.out照样运行(因为对SIGINT信号免疫)。 但是要注意, 如果你直接关掉shell后, 那么, a.out进程同样消失。 可见, &的后台并不硬(因为对SIGHUP信号不免疫)。

2.   nohup的意思是忽略SIGHUP信号, 所以当运行nohup ./a.out的时候, 关闭shell, 那么a.out进程还是存在的(对SIGHUP信号免疫)。 但是, 要注意, 如果你直接在shell中用Ctrl C, 那么, a.out进程也是会消失的(因为对SIGINT信号不免疫)

3.  所以, &和nohup没有半毛钱的关系, 要让进程真正不受shell中Ctrl C和shell关闭的影响, 那该怎么办呢? 那就用nohua ./a.out &吧, 两全其美。

 

 

 

来源:https://blog.csdn.net/stpeace/article/details/76389073

https://blog.csdn.net/u011095110/article/details/78666833

以上是关于linux后台运行命令nohup和&的区别的主要内容,如果未能解决你的问题,请参考以下文章

Linux的nohup和&用法和区别

nohup和&的区别

nohup和&的区别

linux后台执行命令:&和nohup的用法,确实很实用

linux后台执行命令:&和nohup

浅析 在Linux下&命令和Nohup命令的运用