Я сталкиваюсь с проблемой в Windows 10, где процессы остаются застрявшими в состоянии "приостановлено" (отображается через диспетчер задач при отображении столбца "Состояние"). Эти процессы не могут быть уничтожены даже при наличии прав пользователя SYSTEM, поскольку Taskkill возвращает ошибку "Отказано в доступе".
Когда процесс приостановлен, блокировки, которые он имеет на Dll, на которые он ссылается, не освобождаются. Это становится проблематичным, если другое приложение пытается обновить эти Dll.
Еще один проблемный сценарий: если приложение отвечает за то, чтобы всегда было запущено другое приложение, выполнение вызовов API для обнаружения запущенных процессов возвращает исключение (для приостановленных процессов).
Вот 100% повтор: создайте небольшое консольное приложение .net, которое выдает исключение, и запустите его через командную строку. Процесс будет приостановлен и не может быть прекращен.
class Program
{
static void Main(string[] args)
{
if (string.IsNullOrEmpty(args[0]))
{
}
}
}
Кто-нибудь еще сталкивался с подобной проблемой? Я знаю, что приостановка процессов в Windows 8/10 нормальна, проблема в том, что они не возобновляются и не могут быть прекращены.