systemctl запускает телеграмм бота и сразу же выключает

Рейтинг: 0Ответов: 1Опубликовано: 20.04.2023

Всем добрый день! Решил развернуть телеграмм-бота на хостинге (Ubuntu 22.04). Создал файл для демона:

[Unit]
Description=My Telegram Bot

[Service]
Type=simple
User=root
WorkingDirectory=/var/www/telegrambot
ExecStart=/usr/bin/dotnet /var/www/telegrambot/TelegramBot.dll 
Restart=no

[Install]
WantedBy=multi-user.target

Далее

systemctl daemon-reload
systemctl enable mybot.service
systemctl start mybot.service
systemctl status mybot.service

Бот запускается, видно сообщение что он запущен, но затем сразу же

mybot.service: Deactivated successfully.

В журнале:

Apr 20 21:51:42 … systemd[1]: Started My Telegram Bot.
Subject: A start job for unit mybot.service has finished successfully
Defined-By: systemd
Support: ...

A start job for unit mybot.service has finished successfully.

The job identifier is 55778.
Apr 20 21:52:31 .... systemd[1]: Starting My Telegram Bot...
Subject: A start job for unit mybot.service has begun execution
Defined-By: systemd 
Support: ...

A start job for unit mybot.service has begun execution.

The job identifier is 55934.
Apr 20 21:52:32 .... dotnet[947975]: Запущен бот ...
Apr 20 21:52:32 .... systemd[1]: mybot.service: Deactivated successfully.
Subject: Unit succeeded
Defined-By: systemd
Support: ...

The unit mybot.service has successfully entered the 'dead' state.
Apr 20 21:52:32 .... systemd[1]: Started My Telegram Bot.
Subject: A start job for unit mybot.service has finished successfully
Defined-By: systemd
Support: ...
A start job for unit mybot.service has finished successfully.
 
The job identifier is 55934

Подскажите пожалуйста в чем может быть дело, уже голову сломал. Если запустить напрямую бот нормально работает, исключения не выпадают. Заранее спасибо!

Ответы

▲ 0Принят

Как оказалось, daemon не дружит с Console.ReadLine(); Для того чтобы решить проблему нужно использовать:

await Task.Delay(-1);