Stworzyłem super podstawowy skrypt init.d dla mojego bota 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
I ustaliły torbot.py
się +x
i #!/usr/local/bin/python
na szczycie. Kiedy jednak próbuję go uruchomić, otrzymuję:
:/var/lock/subsys$ sudo service torbot start
Failed to start torbot.service: Unit torbot.service not found.
Czy coś brakuje?
Ok, próbowałem kilka kroków, odpowiedź ta przepełnienie stosu ( Uruchamianie skryptu upstart 17.04? ) I zadziałały Moja env jest następująca
Najpierw musisz napisać plik foo.service.
Znaczenie każdego słowa po lewej stronie znaku „=” i jego odpowiednika w (wcześniejszym) upstart znajduje się w linku https://wiki.ubuntu.com/SystemdForUpstartUsers
Gdy plik będzie gotowy, powiedzmy, że nazywasz go „foo.service” (rozszerzenie .service jest ważne)
Musisz umieścić plik w
/lib/systemd/system
Następnie musisz włączyć usługę, dzwoniąc
Co spowoduje wyświetlenie monitu o podanie hasła roota podczas tworzenia dowiązań symbolicznych.
Jeśli dotarłeś do tego miejsca bez żadnych problemów, jesteś dobry. Twoja usługa została utworzona. Rozpocznij przez telefon
systemctl status foo
aby zobaczyć statussudo service foo stop
zatrzymania usługiźródło
Czy zmęczyłeś się czymś takim? Jak debugować skrypty Upstart?
Czy możesz podać dane wyjściowe zawarte w tym przewodniku, abyśmy mogli pomóc Ci potencjalnie rozwiązać problem?
źródło
Miałem ten sam problem, oto rozwiązanie, które działało dla mnie. Próbować:
sudo systemctl daemon-reload
sudo systemctl enable daemon_app.service
sudo systemctl start daemon_app.service
źródło