이상한 문제가 있습니다. 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.
나쁜 상태를 제외하고는 실제 프로젝트가 실제로 실행되지 않습니다.
몇 가지 더 시도했지만 동일한(나쁜) 결과가 나왔습니다.
- 서비스를 중지하고 잠시 기다린 후 시작하세요.
- 서비스를 비활성화하고 잠시 기다린 다음 활성화하십시오.
- 위의 작업을 전후에 수행하십시오.
systemctl daemon-reload
kill -9
프로세스 ID에 a를 발행 하고systemd
다시 시작하도록 합니다.