Действительно убивает процесс В Windows
Иногда программа на машине Windows сходит с ума и просто зависает. Поэтому я вызову диспетчер задач и нажму кнопку "Завершить процесс" для него. Однако это не всегда работает; если я попробую это достаточно раз, то он обычно умрет в конце концов, но я действительно хотел бы иметь возможность просто убить его немедленно. На Linux я мог бы просто kill -9 чтобы гарантировать, что процесс будет умереть.
Это также может быть использован для написания пакетных скриптов и написания пакетных скриптов программирование.
есть
8 ответов:
"завершить процесс" на вкладке Процессы вызывает
TerminateProcessкоторый является наиболее конечным способом Windows знает, чтобы убить процесс.если он не исчезнет, он в настоящее время заблокирован, ожидая некоторого ресурса ядра (вероятно, драйвера багги), и нет ничего (кроме перезагрузки), что вы могли бы сделать, чтобы процесс ушел.
взгляните на этот блог-запись из wayback, когда: http://blogs.technet.com/markrussinovich/archive/2005/08/17/unkillable-processes.aspx
системы на базе Unix, такие как Linux, также имеют эту проблему, когда процессы могут выжить
kill -9если они находятся в так называемом "непрерывном сне" (показанном top и ps как состояниеD) в этот момент процессы спят так хорошо, что они не могут обрабатывать входящие сигналы (что и естьkillделает - посылает сигналы).нормально, непрерывный сон должен не долго, но как под Windows, сломанные драйверы или сломанные программы userpace (
vforkбезexec) может в конечном итоге спать вDнавсегда.
taskkill /im myprocess.exe /f"/f "означает"сила". Если вы знаете PID, то вы можете указать это, как в:
taskkill /pid 1234 /fмного других вариантов возможны, просто введите taskkill /? для всех них. Опция "/t " убивает процесс и любые дочерние процессы; это может быть полезно для вас.
Хакер Процесса есть множество способов убить процесс.
(щелкните правой кнопкой мыши процесс, затем перейдите в раздел Разное->Терминатор.)
JosepStyons прав. Открыть cmd.exe и запустите
taskkill /im processname.exe /fЕсли есть ошибки, говоря:
ошибка: процесс "процесс.exe " с PID 1234 не может быть завершенный. Причина: Доступ запрещен.
затем попробуйте запустить cmd.exe как администратор.
один трюк, который хорошо работает, чтобы прикрепить отладчик, а затем выйти из отладчика.
на XP или Windows 2003 вы можете сделать это с помощью ntsd, который поставляется из коробки:
ntsd -pn myapp.exentsd откроет новое окно. Просто введите " q " в окне, чтобы выйти из отладчика и вынуть процесс.
Я знаю, что это работает, даже когда диспетчер задач не может убить процесс.
к сожалению ntsd был удален из Vista, и вы должны установите (бесплатно)debbugging tools for windows чтобы получить подходящий отладчик.
установите команду AT для запуска диспетчера задач или проводника процессов в качестве системы.
AT 12:34 /interactive "C:/procexp.exe"Если бы Process explorer был в вашем корневом диске C, то это открыло бы его как систему, и вы могли бы убить любой процесс, не получая никаких ошибок отказа в доступе. Установите это на минуту в будущем, а затем он появится для вас.
когда ntsd доступ запрещен, попробуйте:
ZeroWave был разработан, чтобы быть простым инструментом, который обеспечит многоуровневое завершение любого вида процесса.
ZeroWave также является простой в использовании программой из-за его простой установки и его очень дружественный графический интерфейс.
ZeroWave имеет три режима завершения и с" безумным " режимом может завершить любой процесс, который может работать на Windows.
кажется, что ZeroWave не может убить АВП.exe

Comments