У мене є простий сценарій Python, який працює як демон. Я намагаюся створити скрипт systemd, щоб мати можливість запускати цей сценарій під час запуску.
Поточний скрипт systemd:
[Unit]
Description=Text
After=syslog.target
[Service]
Type=forking
User=node
Group=node
WorkingDirectory=/home/node/Node/
PIDFile=/var/run/zebra.pid
ExecStart=/home/node/Node/node.py
[Install]
WantedBy=multi-user.target
node.py:
if __name__ == '__main__':
with daemon.DaemonContext():
check = Node()
check.run()
run
містить while True
цикл.
Я намагаюся запустити цю службу за допомогою systemctl start zebra-node.service
. На жаль, служба так і не закінчила заявляти послідовність - я повинен натиснути Ctrl + C. Сценарій запущений, але статус активується, і через деякий час він змінюється на деактивуючий. Зараз я використовую python-daemon (але раніше я намагався без нього, і симптоми були схожі).
Чи повинен я застосувати деякі додаткові функції до свого сценарію, або файл systemd неправильний?