1. 程式人生 > 實用技巧 >Linux環境下如何讓專案後臺執行

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 &