У меня странная проблема, я настроил пользовательский сервис systemd, который запускает проект dotnet. Когда система впервые запускается, сервис также запускается нормально, однако, когда я его перезапускаю, он зависает.
Система — Ubuntu 20.04 на Azure.
Вот описание услуги:
[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
Это результатsudo 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
А это статус после перезапуска:
● 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.
Помимо плохого статуса, сам проект фактически не работает.
Я попробовал еще кое-что и получил тот же (плохой) результат:
- Остановите службу, подождите немного, затем запустите ее.
- Отключите службу, подождите некоторое время, затем включите ее.
- Сделайте вышеперечисленное после и перед
systemctl daemon-reload
- Выдал
kill -9
идентификатору процесса иsystemd
перезапустил его