У меня постоянно работает консольное приложение .Net Core (2.1), которое планирует ряд повторяющихся фоновых задач с помощью планировщика Quartz.Net. Я пытаюсь запустить приложение на сервере Linux (16.04). Приложение работает нормально, когда работает как отдельное приложение. Однако, когда я пытаюсь запустить приложение в качестве службы systemd, оно зависает. Приложение загружает и планирует различные задачи в Quartz.Net, но запланированные фоновые задачи никогда не выполняются. Чем отличается выполнение службы от отдельного?
Файл конфигурации службы systemd выглядит следующим образом:
[Unit]
Description=FiddleMon.Background
[Service]
User=ubuntu
Restart=on-failure
ExecStart=/home/ubuntu/scripts/start-fiddlemon.background.sh
[Install]
WantedBy=multi-user.target
Я не знаю, имеет ли это какое-либо отношение к ситуации , но я заметил разницу в столбце STAT со списком ps aux
для приложения в зависимости от того, работает ли оно автономно или как служба (SLl против SLl +):
standalone => 1782 1.4 8.4 2923228 171996 pts/1 SLl+ 00:18 0:33 /usr/bin/dotnet FiddleMon.Background.dll
service => 1518 8.9 4.7 2767936 97132 ? SLl 23:59 0:03 /usr/bin/dotnet FiddleMon.Background.dll
Любые предложения будут оценены.