在Ubuntu上,Python應用程序通常作為守護進程(daemon)或后臺任務運行。要啟動Python服務,您需要創建一個systemd服務單元文件,然后使用systemctl
命令來管理該服務。
以下是如何為Python應用程序創建和啟動服務的步驟:
編寫Python腳本:首先,確保您的Python腳本可以在命令行中正常運行。
創建systemd服務單元文件:
在/etc/systemd/system/
目錄下創建一個新的服務單元文件,例如my_python_service.service
。您需要管理員權限來執行此操作。
sudo nano /etc/systemd/system/my_python_service.service
在打開的編輯器中,添加以下內容(根據您的實際情況調整):
[Unit]
Description=My Python Service
After=network.target
[Service]
Type=simple
User=<YourUsername>
Group=<YourGroup>
WorkingDirectory=/path/to/your/python/script
ExecStart=/usr/bin/python3 /path/to/your/python/script/your_script.py
Restart=on-failure
[Install]
WantedBy=multi-user.target
請確保替換<YourUsername>
和<YourGroup>
為您的用戶名和組名,/path/to/your/python/script
為您的Python腳本所在的目錄,以及your_script.py
為您的Python腳本文件名。
重新加載systemd守護進程: 創建服務單元文件后,您需要重新加載systemd以識別新服務。
sudo systemctl daemon-reload
啟動服務: 使用以下命令啟動您的Python服務:
sudo systemctl start my_python_service.service
檢查服務狀態: 要檢查服務的狀態,可以使用以下命令:
sudo systemctl status my_python_service.service
如果服務正在運行,您應該會看到Active: active (running)
的狀態。
設置開機自啟: 如果您希望服務在系統啟動時自動運行,可以使用以下命令:
sudo systemctl enable my_python_service.service
停止服務: 如果需要停止服務,可以使用以下命令:
sudo systemctl stop my_python_service.service
請注意,這些步驟假設您的Python環境已經正確設置,并且python3
命令指向您希望使用的Python版本。如果您的腳本需要特定的虛擬環境,請確保在ExecStart
行中激活該環境。