Я пытаюсь выйти из своего моно-сервиса чисто.
Я строю моно-сервис, и чтобы упростить отладку, я запускаю его как:
mono-service --debug /etc/App.exe
Это здорово, конечно, потому что Console.WriteLine("...")
, который у меня есть в моем коде, выводит на экран.
Следующее, что я делаю, это добавляю новый поток в OnStart, потому что, конечно, затем код(служба) никогда не будет считаться запущенной.
protected override void OnStart(string[] args)
{
Thread serviceThread = new Thread(new ThreadStart(StartMyApplicationAsync));
serviceThread.Start();
}
Хотя с флагом --debug
консоль записывает работу, но она никогда не завершается.Я могу только выдать kill -9
для завершения приложения.Служба даже не может быть перезапущена.
Как мне аккуратно выйти из моно-службы после запуска потока?