Creé un script init.d super básico para mi bot de 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
Y se han establecido torbot.py
para ser +x
y #!/usr/local/bin/python
en la cima. Sin embargo, cuando intento iniciarlo, obtengo:
:/var/lock/subsys$ sudo service torbot start
Failed to start torbot.service: Unit torbot.service not found.
¿Me estoy perdiendo de algo?
Ok, intenté algunos pasos en esta respuesta de stackoverflow (¿ Ejecutando script de arranque en 17.04? ) Y funcionaron Mi entorno es el siguiente
En primer lugar, debe escribir un archivo foo.service.
El significado de cada palabra en el lado izquierdo del signo '=' y su equivalente en el inicio (al anterior) está en el enlace https://wiki.ubuntu.com/SystemdForUpstartUsers
Una vez que el archivo esté listo, supongamos que lo nombra como 'foo.service' (la extensión .service es importante)
Necesita colocar el archivo en
/lib/systemd/system
Después de lo cual debe habilitar el servicio llamando
Lo que le pedirá que ingrese su contraseña de root, ya que creará enlaces simbólicos.
Si ha llegado hasta aquí sin problemas, está bien. Por lo tanto, se crea su servicio. El inicio es llamando
systemctl status foo
para ver el estadosudo service foo stop
para detener el serviciofuente
¿Has cansado algo como esto? ¿Cómo depuro los scripts de Upstart?
¿Puede proporcionar el resultado que proporciona esta guía para que podamos ayudarlo a solucionar su problema?
fuente
Tuve el mismo problema, esta es la solución que funcionó para mí. Tratar:
sudo systemctl daemon-reload
sudo systemctl enable daemon_app.service
sudo systemctl start daemon_app.service
fuente