Резюме:
Сценарий python, использующий apshceduler, не может быть загружен как служба с кодом выхода 203 / EXEC. Важно отметить, что тот же сценарий, предназначенный для запуска каждые 10 секунд с использованием синтаксиса while True:
, очень хорошо работает как демон (служба).
Подробности
Я написал простую программу test.py. Каждые 10 секунд он добавляет некоторый файл .txt со строкой some. Когда я пытаюсь запустить его как сервис-демон, он выходит с кодом ошибки. , Само по себе, не используя его в качестве демона (службы), он работает нормально. Также, если я не использую apscheduler при написании файла test.py, то служба работает без сбоев. Я приведу здесь весь код для деталей, включая systemctl status
Код
test.py file
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
This файл находится @ - / 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
Я ссылался на это Вопрос. Я попробовал варианты, но это не помогает. И этот не очень применим, так как имеет проблемы с разрешениями.
1 : https://unix.stackexchange.com/q/472950/361166 `` `
Пожалуйста, руководство. [Тысяча сто тридцать два]