最近想要配置乙個定時任務來重啟乙個golang程式,因為是在伺服器上,所以決定用linux的crontab來設定。
crontab是用來定期執行程式的命令。當安裝完成作業系統之後,預設便會啟動此任務排程命令。
crond 命令每分鐘會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。
具體用法網上很多,這裡不再贅述。
對linux稍微有所了解便可知一般用kill pid
來結束特定程序,然後可能會出現類似下面的提示資訊:
/home/user/script: line ***: 93290 killed
如果我一次行kill多個程序,很可能因為這個輸出而沒能成功,因此需要去除。考慮如下指令碼:
#!/bin/bash
for pid in $(pgrep -f go);
do 2>/dev/null
done
cd /root/lcid-go
nohup /usr/local/go/bin/go run ./main.go > /dev/null 2>&1 &
其中$(pgrep -f go)
找出所有go程式,當然能換成其他的,只要找出所有想要結束的程序的pid。最後一行是重新啟動這個go程式。
此指令碼儲存為~/restart.sh
最後只需crontab -e
,然後新增下面一行即可,設定為每天2:15執行。
15 2 * * * cd ~ && ./restart.sh
VC , 重啟程式
tchar pbuf max path getmodulefilename null,pbuf,max path startupinfo startupinfo process information proc info memset startupinfo,0,sizeof startupinfo...
linux下通過指令碼實現自動重啟程式
出處不詳,網上摘錄。無論什麼程式都不可能完美無缺,理論上,任何程式都有core dump的一天,正式運營的程式,尤其是伺服器程式,一旦core dump,後果不堪設想,有過伺服器開發經驗的朋友,一定都經歷過深夜美夢中,被 驚醒的慘痛經歷,手忙腳亂把伺服器重新啟動,第二天上班還要被老闆一頓狠批。所以,...
linux下通過指令碼實現自動重啟程式
無論什麼程式都不可能完美無缺,理論上,任何程式都有co程式設計客棧re dump的一天,正式運營的程式,尤其是伺服器程式,一旦core dump,後果不堪設想,有過伺服器開發經驗的朋友,一定都經歷過深夜美夢中,被 驚醒的慘痛經歷,手忙腳亂把伺服器重新啟動,第二天上班還要被老闆一頓狠批。所以,程式發生...