待驗證
最近寫了監控服務的腳本,需要在后台24小時運行。
環境:linux、腳本python、shell腳本
方法一:腳本后加&
加了&以后可以使腳本在后台運行,這樣的話你就可以繼續工作了。但是有一個問題就是你關閉終端連接后,腳本會停止運行;
如:
<span style="white-space:pre"> </span>[root@192 ~]# python updatetest1.1 &
方法二:使用nohup在后台執行命令
使用&符號在后台執行命令或腳本后,如果你退出登錄,這個命令就會被自動終止掉。要避免這種情況,你可以使用nohup命令,如下所示:
$ nohup ./my-shell-script.sh &
方法三:使用screen執行命令
通過nohup和&符號在后台執行命令后,即使你退出登錄,這個命令也會一直執行。但是,你無法重新連接到這個會話,要想重新連接到這個會話,你可以使用screen命令。.
Linux的screen命令提供了分離和重新連接一個會話的功能。當你重新連接這個會話的時候,你的終端和你分離的時候一模一樣。
方法四:使用at將一個命令作為批處理執行
使用at命令,你可以讓一個命令在指定的日期和時間運行,例如要在明天上午10點在后台執行備份腳本,執行下面的命令:
$ at -f backup.sh 10 am tomorrow
在批處理模式下執行某些任務需要啟用一些選項。下面的文章會給出詳細解釋:.
How To Capture Unix Top Command Output to a File in Readable Format
Unix bc Command Line Calculator in Batch Mode
How To Execute SSH and SCP in Batch Mode (Only when Passwordless login is enabled)
方法五:使用watch連續地執行一個命令
要想按一個固定的間隔不停地執行一個命令,可以使用watch命令,如下所示:
$ watch df -h
另外查看進程確認腳本是否在繼續運行的命令
ps -ef|grep 腳本名
原文鏈接:https://blog.csdn.net/qq1124794084/article/details/50546507