摘要:
使用apshceduler的python脚本无法通过退出代码203 / EXEC作为服务加载。重要的是要注意,设计为使用while True:
语法每10秒运行一次的脚本与守护程序(服务)一样运行良好。
详细信息
我编写了一个简单的test.py程序。它每隔10秒用“ some”字符串附加一些a.txt文件。当我尝试将其作为守护程序服务运行时,它带有错误代码。 。本身不使用它作为守护程序(服务),就可以正常工作。另外,如果我在编写test.py文件时未使用apscheduler,则该服务将运行平稳。
我将在此处放置所有代码以获取详细信息,包括systemctl status
代码
test.py文件
import os, glob, shutil
from datetime import datetime
from apscheduler.schedulers.blocking import BlockingScheduler
sched = BlockingScheduler()
def test():
appendFile = open(r'/home/sangharsh/code/a.txt', 'a')
appendFile.write("Jai Bhim \n" )
appendFile.close()
sched.add_job(test, 'interval', seconds=10)
sched.start()
位于@-/ home / sangharsh / code / workingWithFiles / 要将其作为守护程序运行,我创建了服务文件-
服务配置文件
[Unit]
Description=Test Service
After=multi-user.target
Conflicts=getty@tty1.service
[Service]
Type=simple
ExecStart=/usr/bin/env python3 /home/sangharsh/code/workingWithFiles/test.py
StandardInput=tty-force
[Install]
WantedBy=multi-user.target
此文件位于@-/ lib / systemd / system /
我重新启动守护程序-
sudo systemctl daemon-reload
然后启用test.service文件-
sudo systemctl enable test.service
并启动test.service
sudo systemctl start test.service
并检查状态
sudo systemctl status test.service
systemctl status
显示:
● test.service - Test Service
Loaded: loaded (/lib/systemd/system/test.service; enabled; vendor preset: ena
Active: failed (Result: exit-code) since Tue 2019-07-09 23:28:10 IST; 13s ago
Process: 5272 ExecStart=/usr/bin/env python3 /home/sangharsh/code/workingWithF
Main PID: 5272 (code=exited, status=1/FAILURE)
Jul 09 23:28:10 sangharsh-HP-240-G4-Notebook-PC systemd[1]: Started Test Service
Jul 09 23:28:10 sangharsh-HP-240-G4-Notebook-PC systemd[1]: test.service: Main p
Jul 09 23:28:10 sangharsh-HP-240-G4-Notebook-PC systemd[1]: test.service: Failed
我提到了this问题。我尝试了这些选项,但无济于事。 并且this不太适用,因为它存在权限问题。
1:https://unix.stackexchange.com/q/472950/361166```
请指导。