Ich habe ein seltsames Problem. Ich habe einen benutzerdefinierten systemd-Dienst eingerichtet, der ein dotnet-Projekt ausführt. Beim ersten Systemstart startet der Dienst auch einwandfrei, aber wenn ich ihn neu starte, hängt er sich auf.
Das System ist Ubuntu 20.04 auf Azure.
Hier ist die Servicebeschreibung:
[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
Dies ist das Ergebnis vonsudo 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
Und das ist der Status nach einem Neustart:
● 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.
Abgesehen vom schlechten Status läuft das eigentliche Projekt nicht wirklich.
Ich habe noch ein paar weitere Dinge ausprobiert und hatte das gleiche (schlechte) Ergebnis:
- Stoppen Sie den Dienst, warten Sie eine Weile und starten Sie ihn dann
- Deaktivieren Sie den Dienst, warten Sie eine Weile und aktivieren Sie ihn dann
- Führen Sie die oben genannten Schritte nach und vor einem
systemctl daemon-reload
- Gibt ein
kill -9
an die Prozess-ID aus und lässtsystemd
sie neu starten