因習慣透過 pipenv 指立建立 Flask,例如
1 | pipenv run python mock_server.py |
要正確地執行,花費些時間研究,因此特別記錄下來。
關閉所有 Python 服務
1 | @echo off |
使用 nssm 註冊服務
首先,要知道 pipenv 產生的虛擬環境在哪
1 | pipenv --venv |
假設輸出結果如下
1 | C:\Users\mike\.virtualenvs\mock_server-ASS21Y9K |
參考https://www.mssqltips.com/sqlservertip/7325/how-to-run-a-python-script-windows-service-nssm/
先下載nssm,解壓縮後,需用系統管理員權限開啟 cmd,並切換到目錄底下
1 | cd C:\nssm-2.24\win64 |
接著執行 nssm 來建立服務
1 | nssm install "MockServer" "C:\Users\mike\.virtualenvs\mock_server-ASS21Y9K\Scripts\python.exe" "mock_server.py" |
啟動或停止服務
1 | nssm start "MockServer" |
透過 API 關閉 Flask 服務
試過上述兩個方法,還是這個方法最簡單乾淨,只要留意好權限控管,避免被惡意呼叫關閉即可。
1 |
|