Tengo un problema extraño: configuré un servicio systemd personalizado que ejecuta un proyecto dotnet. Cuando el sistema se inicia por primera vez, el servicio también se inicia bien, sin embargo, cuando lo reinicio, se bloquea.
El sistema es Ubuntu 20.04 en Azure.
Aquí está la descripción del servicio:
[Unit]
Description=Api
[Service]
WorkingDirectory=/home/aviad/Backend
ExecStart=/snap/bin/dotnet run -c AzureDev --launch-profile AzureDev
Restart=always
RestartSec=10
User=aviad
[Install]
WantedBy=multi-user.target
Este es el resultado desudo systemctl status api
● api.service - Api
Loaded: loaded (/etc/systemd/system/api.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-09-14 15:51:50 UTC; 29min ago
Main PID: 855 (dotnet)
Tasks: 39 (limit: 9513)
Memory: 314.2M
CGroup: /system.slice/api.service
├─ 855 /snap/dotnet-sdk/120/dotnet run -c AzureDev --launch-profile AzureDev
└─2408 /home/aviad/Backend/bin/AzureDev/net5.0/Backend
Y este es el estado después de reiniciar:
● api.service - Api
Loaded: loaded (/etc/systemd/system/api.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-09-14 16:33:33 UTC; 7s ago
Main PID: 8373 (dotnet)
Tasks: 0 (limit: 9513)
Memory: 460.0K
CGroup: /system.slice/api.service
‣ 8373 /snap/dotnet-sdk/120/dotnet run -c AzureDev --launch-profile AzureDev
Sep 14 16:33:33 machine1 systemd[1]: Started Api.
Aparte del mal estado, el proyecto en sí no funciona.
Algunas cosas más que probé y obtuve el mismo (mal) resultado:
- Detenga el servicio, espere un momento y luego inícielo.
- Deshabilite el servicio, espere un momento y luego habilítelo
- Haga lo anterior después y antes de un
systemctl daemon-reload
- Emitió un
kill -9
identificador de proceso ysystemd
lo reinicié.