«Изящность» останова службы зависит от того, как ваша служба отвечает на запрос.Если вы пишете службу, то у вас есть полный контроль над тем, как ваша служба реагирует, когда SCM отправляет запрос «стоп».После получения запроса у вас есть ограниченное количество времени (Windows решает, сколько), чтобы остановить службу и ответить на контрольный запрос.Если вы не ответите своевременно, Windows может некорректно завершить процесс обслуживания.
Консольное приложение может ответить на запрос Ctrl + C с помощью функции SetConsoleCtrlHandler()
.Однако процессы службы не запускаются в окне консоли, поэтому этот обработчик совершенно неприменим к службам.