Linux环境下如何让项目后台运行

Linux环境下如何让项目后台运行

问题:使用Xshell启动一个项目,Xshell关掉后,项目就停止运行了,这个时候我们希望它能够后台运行,关掉Xshell后,项目依然可以启动。

例如:要项目启动文件名称是:ex.sh  

1,#sh ex.sh 这样能启动,但是你用ctrl+C后,项目就结束掉了。

2,#sh ex.sh & 这样可以将项目后台运行,即使你用ctrl+C后,项目依然运行。但是关掉Xshell后,项目就结束掉了。

3,#nohup  sh ex.sh &   这个才是我们想要的。即使关掉Xshell,项目依然运行。

nohup 和 & 的区别:

&是后台运行。当你在执行sh setup.sh &的时候, 即使你用ctrl+C,  那么setup.sh照样运行(因为对SIGINT信号免疫)。 但是如果直接关掉Xshell, 那么setup.sh进程同样消失。 

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

所以, 要让进程真正不受shell中Ctrl+C和shell关闭的影响,那就用nohup  sh setup.sh &
posted @ 2020-07-30 17:04  豆子V  阅读(885)  评论(0编辑  收藏  举报