Я пытаюсь остановить запущенную службу с помощью консольной программы, которую я создал. Это не мой код:Остановка службы
ServiceController sc = new ServiceController(ServiceName, ".");
sc.Stop();
Я тогда ждать статуса службы, чтобы включить в Остановился, но это не происходит. Кажется, что StopPending и никогда не остановились. Когда я проверяю Services.msc, он указан как остановленный, а в диспетчере задач процесс исчез.
Будет ли он оставаться в ожидании навсегда? Я делаю что-то неправильно? У меня есть код для службы, если мне нужно что-то изменить.
Я уже жду. Кажется, он не изменился с Pending. – Nicolai
На самом деле это работало. Я проверял себя, с петлей while, спрашивая sc.status. Я не знаю, почему это не изменилось с Pending. Переход на WaitForStatus зафиксировал его. – Nicolai
@Nicolay, возможно, статус был кеширован. Существует метод 'sc.Refresh()' для обновления статуса. Но WaitForStatus - лучшее решение – HugoRune