Я создал супер базовый скрипт init.d для моего бота python:
#!/bin/bash
# chkconfig: 2345 20 80
# description: Description comes here....
# Source function library.
. /etc/init.d/functions
start() {
echo "starting torbot"
python /home/ctote/dev/slackbots/torbot/torbot.py
# example: daemon program_name &
}
stop() {
# code to stop app comes here
# example: killproc program_name
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
# code to check status of app comes here
# example: status program_name
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
esac
И установили, torbot.py
чтобы быть +x
и #!/usr/local/bin/python
на вершине. Когда я пытаюсь запустить его, я получаю:
:/var/lock/subsys$ sudo service torbot start
Failed to start torbot.service: Unit torbot.service not found.
Я что-то пропустил?
Хорошо, я попробовал несколько шагов в этом ответе stackoverflow ( Запуск сценария upstart 17.04? ), И они сработали. Моя env выглядит следующим образом
Во-первых, вам нужно написать файл foo.service.
Значение каждого слова в левой части знака '=' и их эквивалента в (к более раннему) выскочке указано в ссылке https://wiki.ubuntu.com/SystemdForUpstartUsers.
Когда файл будет готов, скажем, вы назвали его «foo.service» (расширение .service важно)
Вам нужно поместить файл в
/lib/systemd/system
После чего необходимо активировать услугу, позвонив
Который предложит вам ввести свой корневой пароль, поскольку он будет создавать символические ссылки.
Если вы дошли до здесь без каких-либо хлопот, вы в порядке. Ваш сервис, следовательно, создан
systemctl status foo
чтобы увидеть статус,sudo service foo stop
чтобы остановить службуисточник
Вы устали от чего-то подобного? Как отладить сценарии Upstart?
Можете ли вы предоставить вывод для этого руководства, чтобы мы могли помочь вам отладить вашу проблему?
источник
У меня была та же проблема, это решение, которое работало для меня. Пытаться:
sudo systemctl daemon-reload
sudo systemctl включить daemon_app.service
sudo systemctl start daemon_app.service
источник