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

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

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

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

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

3,#nohup  sh setup.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 &

猜你喜欢

转载自blog.csdn.net/qq_41397201/article/details/86524143
今日推荐