1 votos

Problemas para iniciar un programa Python3.5 como un servicio systemd

He creado un servicio de systemd titulado red-cartridgemom.service:

[Unit]
Description=Red-DiscordBot-CK
After=multi-user.target

[Service]
WorkingDirectory=/home/twop0intfive/server1504/discord_stuff/Red-DiscordBot-CK/Red-DiscordBot/
User=twop0intfive
Group=twop0intfive
ExecStart=/usr/bin/python3.5 /home/twop0intfive/server1504/discord_stuff/Red-DiscordBot-CK/Red-DiscordBot/red.py
Type=idle
Restart=always
RestartSec=15

[Install]
WantedBy=multi-user.target

Sin embargo, cuando inicio el servicio y lo monitorizo con journalctl:

Aug 25 18:04:31 server1504 systemd[1]: red-cartridgemom.service holdoff time over, scheduling restart.
Aug 25 18:04:31 server1504 systemd[1]: Started Red-DiscordBot-CK.
Aug 25 18:04:31 server1504 systemd[1]: Starting Red-DiscordBot-CK...
Aug 25 18:04:31 server1504 systemd[3018]: Failed at step CHDIR spawning /usr/bin/python3.5: No such file or directory
Aug 25 18:04:31 server1504 systemd[1]: red-cartridgemom.service: main process exited, code=exited, status=200/CHDIR
Aug 25 18:04:31 server1504 systemd[1]: Unit red-cartridgemom.service entered failed state.
Aug 25 18:04:31 server1504 systemd[1]: red-cartridgemom.service failed.

...el servicio nunca se inicia correctamente.

El archivo en esa ruta definitivamente existe. Estuve jugando con esto por un tiempo hasta que me di cuenta de que quizás systemctl está viendo

/usr/bin/python3.5

como un archivo 'python3' de tipo '.5' - ¿es posible? Si es así, ¿hay alguna manera de solucionar esto y hacer que systemd 'vea' /usr/bin/python3.5 correctamente?

0voto

manish Puntos 131

¡Así que!

Alguien en un canal de #soporte sugirió ejecutar do-release-upgrade (lo cual hizo que mis bots dejaran de funcionar la última vez que lo hice, esa es la razón por la que estaba ejecutando Ubuntu 15.04 hasta ahora) y ahora, en Ubuntu 15.10, ya no tengo el problema mencionado anteriormente. La persona que sugirió eso estaba ejecutando un script casi idéntico al que pegué arriba en Ubuntu 16.04.1 y no tenía el problema que yo estaba teniendo.

Parece que el '.' en 'python3.5' fue realmente el culpable aquí, pero también parece que este problema en systemd fue corregido en algún momento entre las versiones de Ubuntu.

tl,dr: este problema parece no existir en Ubuntu 15.10 y versiones posteriores. La solución para mí fue actualizar a 15.10.

¡Gracias por tu tiempo!

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X