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重新启动

相关内容