systemd サービスは正常に起動しますが、再起動後にハングします

systemd サービスは正常に起動しますが、再起動後にハングします

奇妙な問題が発生しています。dotnet プロジェクトを実行するカスタム systemd サービスをセットアップしました。システムを最初に起動すると、サービスも正常に起動しますが、再起動するとハングします。

システムは Azure 上の Ubuntu 20.04 です。

サービスの説明は次のとおりです。

[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.

悪いステータスとは別に、実際のプロジェクトは実際には実行されません。

他にもいくつか試してみましたが、同じ(悪い)結果になりました。

  1. サービスを停止し、しばらく待ってから起動してください
  2. サービスを無効にして、しばらく待ってから有効にします
  3. 上記のことを、systemctl daemon-reload
  4. kill -9プロセスIDにを発行してsystemd再起動させます

関連情報