linux中腳本後臺執行的方法

雖有多年運維經驗,但一直專注於業務運維,故很少執行大數據腳本。近日,有需持續執行腳本的工單,故將網上搜索+親身使用且比較實用的方法整理如下。

方法一:
1、執行腳本。sh ceshi.sh >> ceshi.log
2、按下ctrl + z 。此時任務被調度到後臺,且是暫停執行狀態。使用jobs命令查看,該任務狀態爲stopping。
3、bg n。n爲使用jobs命令結果中,中括號裏面數字[n],而非ps的進程ID。
4、此時任務已經在後臺被啓動。輸出結果定向到當前目錄下的ceshi.log中。使用jobs命令查看,該任務狀態爲running。

方法二:使用nohup命令
1、執行腳本。nohup sh ceshi.sh &
linux中腳本後臺執行的方法
2、此時腳本已在後臺執行。且輸出結果爲自動保存到當前目錄下的nohup.out文件中。
3、使用jobs命令查看,該任務狀態爲running狀態。
linux中腳本後臺執行的方法

注:
1、以上兩種方法,若重新打開終端,或另開新終端,使用jobs命令均看不到執行任務。需要使用ps -ef | grep ceshi.sh來查看。
2、針對以上兩種方法,建議使用第二種,因爲第一種有可能會中斷(已經切身體會,執行到半夜任務中斷了,o(╥﹏╥)o,影響工作效率)。而nohup爲不中斷執行。

PS:針對後臺執行的方法,網上有非常多的參考文檔,但還是結合自身使用整理了以上兩種,希望對大家有所幫助,也希望有更好方法的大神積極迴應。^_^

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章