Как вызвать systemctl reload для демона do tnet core linux? - PullRequest
0 голосов
/ 14 февраля 2020

Доброе утро! Мне удалось написать linux демон в do tnet core 3.1. В настоящее время я использую

systemctl start/stop myunit.service

для запуска и остановки моей службы.

Это мой класс Program.cs:

public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();

    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .UseSystemd()
            .ConfigureLogging(logging =>
            {
                logging.ClearProviders();
                logging.AddLog4Net(Path.Combine(AppContext.BaseDirectory, "log4net.config"));
                logging.SetMinimumLevel(LogLevel.Trace);
            })
            .ConfigureServices((hostContext, services) =>
            {
                services.Configure<AppConfig>(hostContext.Configuration.GetSection("AppConfig"));
                services.AddHostedService<Worker>();
            });

}

В Worker классе у меня есть StartAsync и StopAsync для управления службой.

Теперь я хотел бы вызвать событие «reload» из команды линия, чтобы запустить метод в моем приложении и обновить конфигурацию. Точно так же, как это делает демон Apache2 / Httpd.
В настоящее время, если я звоню systemctl reload myunit.service, я получаю: «Перезагрузка типа задания не применима для устройства»

Как этого добиться?

...