Иногда программа на машине с Windows сходит с ума и просто зависает. Поэтому я вызову диспетчер задач и нажму на кнопку «Завершить процесс». Однако это не всегда работает; если я попытаюсь сделать это достаточно много раз, то он, в конце концов, умрет, но я бы очень хотел иметь возможность просто убить его немедленно. В Linux я мог просто kill -9
гарантировать, что процесс умрет.
Это также может быть использовано для написания пакетных сценариев, а написание пакетных сценариев является программированием.
Есть ли какая-нибудь программа или команда, которая поставляется с Windows, которая всегда убивает процесс? Было бы неплохо бесплатное стороннее приложение, хотя я бы предпочел делать это на машинах, на которых я сижу впервые.
Ответы:
«Завершить процесс» в вызовах «Процессы-вкладка»,
TerminateProcess
что является наиболее совершенным способом, которым Windows знает, как убить процесс.Если он не исчезает, он в настоящее время заблокирован в ожидании какого-либо ресурса ядра (возможно, с ошибочным драйвером) и ничего (кроме перезагрузки) вы не могли бы сделать, чтобы процесс ушел.
Посмотрите на эту запись в блоге с пути назад, когда: http://blogs.technet.com/markrussinovich/archive/2005/08/17/unkillable-processes.aspx
Системы на основе Unix, такие как Linux, также имеют ту проблему, когда процессы могут выжить,
kill -9
если они находятся в так называемом «бесперебойном спящем режиме» (обозначается как top и ps как состояниеD
), и в этот момент процессы спят так хорошо, что не могут обрабатывать входящие сигналы. (чтоkill
делает - отправка сигналов).Обычно непрерывный сон не должен длиться долго, но, как и в Windows, сломанные драйверы или сломанные программы пользовательского пространства (
vfork
безexec
) могут в конечном итоге спать вD
вечности.источник
taskkill /f
самый конечный.TerminateProcess
API. Он делает то же самое, что и диспетчер задач (хотя, вы правы, с повышенными привилегиями).«/ F» означает «сила». Если вы знаете PID, вы можете указать это, как в:
Возможно множество других опций, просто введите taskkill /? для всех них. Параметр "/ t" убивает процесс и любые дочерние процессы; это может быть полезно для вас.
источник
taskkill /pid 1234 /f
работает, когда End Task отказывается работать! ВОТ ЭТО ДА!У Process Hacker есть множество способов убить процесс.
(Щелкните правой кнопкой мыши процесс, затем перейдите в Разное-> Терминатор.)
источник
JosepStyons прав. Откройте cmd.exe и запустите
Если есть ошибка, говорящая,
затем попробуйте запустить cmd.exe от имени администратора.
источник
ERROR: The process with PID 17888 (child process of PID 17880) could not be terminated. Reason: There is no instance of the task.
и ссылается на родительский PID 17880. Поскольку он не может найти родителя, он не убьет ребенка-сироту. :(Получить проводник процессов от sysinternals (сейчас Microsoft)
Process Explorer - Windows Sysinternals | Документы Microsoft
источник
Один из приемов, который хорошо работает, - подключить отладчик и затем выйти из него.
В XP или Windows 2003 вы можете сделать это с помощью ntsd, который поставляется из коробки:
NTSD откроет новое окно. Просто введите «q» в окне, чтобы выйти из отладчика и завершить процесс.
Я знал, что это работает, даже когда диспетчер задач не может остановить процесс.
К сожалению, ntsd был удален из Vista, и вы должны установить (бесплатные) средства отладки для Windows, чтобы получить подходящий отладчик.
источник
winsdk_web.exe
, которая ничего не делает.настроить AT-команду для запуска диспетчера задач или проводника процессов как SYSTEM.
Если бы проводник процессов находился на вашем корневом диске C, то он бы открывал его как SYSTEM, и вы могли бы уничтожить любой процесс, не получив никаких ошибок в доступе. Установите это как минуту в будущем, тогда оно появится для вас.
источник
Когда доступ ntsd запрещен, попробуйте:
ZeroWave был разработан как простой инструмент, который обеспечит многоуровневое завершение любого вида процесса.
ZeroWave также является простой в использовании программой благодаря простой установке и очень дружественному графическому интерфейсу.
ZeroWave имеет три режима завершения и с помощью режима «INSANE» может завершить любой процесс, который может выполняться в Windows.
Кажется, что ZeroWave не может убить avp.exe
источник
К вашему сведению, иногда вы можете использовать SYSTEM или Trustedinstaller для уничтожения задач;)
google quickkill_3_0.bat
источник