Невозможно запустить приложение dotnet в качестве службы демона - PullRequest
0 голосов
/ 22 мая 2018

Я пытаюсь запустить мое приложение dotnet в качестве службы демона, первые шаги, которые я сделал:

  1. Создание приложения с использованием NetCore 2.0
  2. Сборкадвоичный файл, использующий dotnet publish bot

внутри Ubuntu терминала. Я создал пользователя для запуска демона:

sudo useradd -s /sbin/nologin dotnetuser
sudo mkdir /var/bot
sudo cp -R /home/publish/* /var/bot
sudo chown -R dotnetuser:dotnetuser /var/bot

, поэтому я создал пользовательский systemd файл модуля в:/etc/systemd/system/netcore-console-bot.service каталог:

[Unit]
Description= Bot console application
DefaultDependencies = no

[Service]
Type = oneshot
RemainAfterExit = no
ExecStart= /var/bot/ bot.dll
WorkingDirectory = /var/bot
User = dotnetuser
Group = dotnetuser

[install]

Я пытался выполнить daemon с помощью команды systemctl status: start netcore-console-bot.service

, но получил:

netcoreconsole-bot.service: основной процесс завершен, код = выход

Что я сделал не так?

1 Ответ

0 голосов
/ 11 октября 2018

Я почти уверен, что единственное изменение, которое вам нужно сделать из моего тестирования, - убедиться, что dotnet запустил dll.Мои пути должны быть очень близки к тому, что вам нужно сделать.В качестве альтернативы вы можете использовать автономное развертывание при публикации и упаковке среды выполнения с приложением.

[Unit]
Description= Bot console application
DefaultDependencies = no

[Service]
Type = oneshot
RemainAfterExit = no
ExecStart= /usr/bin/dotnet /var/bot/bot.dll
WorkingDirectory = /var/bot
User = dotnetuser
Group = dotnetuser

[install]
...