#!/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
開箱即用:使用shell腳本一鍵啓停python服務
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.