開箱即用:使用shell腳本一鍵啓停python服務

#!/usr/bin/env bash # chmod 755 monitor.sh # workdir=$(dirname $(readlink -f "$0")) # echo $workdir daemon_start() { echo "********************************************" echo "需要拉取最新代碼" # git pull origin master echo "Done..." echo "********************************************" echo "啓動監控服務..." pid=$(ps -ef | grep python | grep main.py | grep -v grep | awk '{print $2}') if [ -n "$pid" ]; then echo "檢測到監控服務已經啓動, PID:$pid, 將會先嚐試kill該進程..." daemon_stop fi # 使用-u參數,將標準輸出的結果不經緩存直接輸出到日誌文件 nohup poetry run python3 -u ./main.py >monitor.log 2>&1 & } daemon_status() { echo "********************************************" echo "查看監控服務狀態..." status=$(ps -ef | grep python | grep main.py | grep -v grep) echo "$status" echo "********************************************" } daemon_stop() { echo "********************************************" echo "停止監控服務..." pid=$(ps -ef | grep python | grep main.py | grep -v grep | awk '{print $2}') if [ -n "$pid" ]; then echo "PID: $pid" kill -9 "$pid" fi echo "Done.." echo "********************************************" } daemon_restart() { echo "********************************************" daemon_stop daemon_start echo "Done.." echo "********************************************" } # 使用 ./start.sh start|stop|restart 來運行腳本啓動服務 case "$1" in start) daemon_start ;; status) daemon_status ;; stop) daemon_stop ;; restart) daemon_restart ;; *) echo "Usage: ./start.sh {start|status|stop|restart}" exit 1 ;; esac exit 0
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章