[Lunix] 將 Python 任務設爲守護進程(二)

接着上一篇文章 將 Python 任務設爲守護進程(一),當python任務中包含相對路徑引用時,在service文件中執行python文件會報錯,爲了解決這個問題,還需藉助shell腳本的力量。假設項目存在/root/python路徑中,且必須運行該目錄下的main.py文件才能運行該項目,那麼可以進行以下操作:

1. 創建shell腳本

在項目目錄中創建shell腳本

vim  /root/python/start.sh

start.sh中寫入

#!/bin/sh
cd  /root/python
python3 /root/python/main.py

2. 修改shell腳本權限

不修改權限時,root用戶可以直接運行shell腳本,但是systemctl無法運行,所以需要執行下面這條命令:

chmod 777 /root/python/start.sh

3. 配置service文件

創建service文件

Centos:vim /usr/lib/systemd/system/python_taskd.service
Ubuntu:vim /lib/systemd/system/python_taskd.service

在service文件中寫入

[Unit]
Description=start python task
After=network.target

[Service]
Type=simple
ExecStart=/root/python/start.sh
ExecReload=/root/python/start.sh
ExecStop=

[Install]
WantedBy=multi-user.target

4. 啓動守護進程

systemctl daemon-reload
systemctl start python_taskd.service
systemctl restart python_taskd.service
systemctl status -l python_taskd.service
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章