Если мы остановим службу Windows, когда она находится в середине какого-либо процесса, указанного в событии System.Timers.Timer.Elapsed (), будет ли служба
a.остановите процесс внезапно или
b.завершить процесс и остановить сервис?
Зависит от того, для чего предназначен сервис. Когда вы отправляете сообщение остановки в службу, служба получает возможность делать все, что ей нужно. Это отображается как вызов вашего переопределенного ServiceMain.OnStop () в .NET. Некоторые службы могут быстро обработать окончание обработки. Другие сервисы могут просто убить дочерние процессы.