Это напоминает мне, когда я программировал Windows Services, и их также было невозможно остановить с помощью диспетчера задач Windows.
Для решения этой проблемы нам нужно было найти код с именем EnableDebugPrivAndRun.cpp
, скомпилировать его в исполняемый файл и затем запустить диспетчер задач с:
C:\>EnableDebugPrivAndRun.exe TaskMgr.exe
При этом диспетчер задач смог убить любой процесс. Помните, что даже основные процессы Windows могут быть уничтожены (например, lsass.exe в Windows 2000), и вы просто получите зависшую машину).
Вы все еще можете найти код и полную статью в этой статье Microsoft. Код становится доступным, когда вы нажимаете на ссылку под названием Figure 3
.
Я использовал это давным-давно, на машинах с Windows NT4 и Windows 2000, я не уверен, что это все еще будет работать для последней версии Windows, и, возможно, теперь такой инструмент будет предоставлен последней средой разработки Microsoft.
ОБНОВЛЕНИЕ: Очевидно, что некоторые другие пользователи нашли решение в этом вопросе SuperUser, и я также нашел Средства отладки Windows, которые содержат команду kill
которая также должна выполнить эту работу.
Выписка с сайта MSDN:
Инструменты отладки для Windows (WinDbg, KD, CDB, NTSD)
3 способа получить средства отладки для Windows:
В составе WDK Установите Microsoft Visual Studio, а затем установите комплект драйверов Windows (WDK). Средства отладки для Windows включены в WDK.
Как часть Windows SDK Установите пакет средств разработки программного обеспечения Windows> (SDK). Средства отладки для Windows включены в Windows SDK.
Как автономный набор инструментов. Если вы хотите загрузить только средства отладки для Windows, установите Windows SDK и во время установки установите флажок «Средства отладки для Windows» и снимите все остальные флажки.
Набор инструментов отладки доступен здесь.