Я получил сложное приложение, которое может работать как служба Windows и как консольное приложение.
В основном я использую запуск консоли для отладки.Когда я нажимаю Ctrl + C на консоли, приложение немедленно останавливается (процесс завершается).
Когда я запускаю приложение как службу и выбираю ее остановку, MMC немедленно сообщает, что служба остановлена.Тем не менее, процесс все еще работает и занимает около минуты, чтобы остановиться.У меня нет проблем с этим, но я бы хотел, чтобы MMC подождал, как и другие сервисы.В настоящее время я могу снова запустить службу, пока старый процесс еще работает, и это приводит к ошибкам с эксклюзивными ресурсами.Также «перезапуск» в MMC не работает, поскольку он не ожидает завершения процесса.
Как я могу заставить свой процесс ждать или как узнать, какие потоки / процессы / методы занимают время?