Действительно убивает процесс в Windows

Иногда программа на машине Windows сходит с ума и просто зависает. Поэтому я вызываю диспетчер задач и нажимаю для него кнопку «Завершить процесс». Однако это не всегда работает; если я попробую это достаточно раз, то в конце концов он обычно умрет, но я бы очень хотел иметь возможность просто убить его немедленно. В Linux я мог просто kill -9 , чтобы гарантировать, что процесс умрет.

Это также можно было бы использовать для написания пакетных сценариев, а написание пакетных сценариев — это программирование.

Есть ли какая-нибудь программа или , поставляемая с Windows, которая всегда убивает процесс? Бесплатное стороннее приложение было бы хорошо, хотя я бы предпочел иметь возможность делать это на машинах, за которые сажусь впервые.


«Завершить процесс» в вызовах вкладки «Процессы» TerminateProcess , который является наиболее эффективным способом, который Windows знает, чтобы убить процесс.

Если он не исчезнет, ​​он в настоящее время заблокирован в ожидании некоторого ресурса ядра (возможно, драйвер с ошибками), и вы ничего не можете сделать (кроме перезагрузки), чтобы этот процесс прекратился.

Взгляните на эту запись в блоге с пути назад, когда: http://blogs .technet.com/markrussinovich/archive/2005/08/17/unkillable -cesses.aspx

Системы на основе Unix, такие как Linux, также имеют эту проблему, когда Процессы могут пережить kill -9 , если они находятся в так называемом «бесперебойном сне» (показано сверху и ps как состояние D ), и в этот момент процессы спят настолько хорошо, что не могут обрабатывать входящие сигналы (что и делает kill — отправляя сигналы).

Обычно непрерывный сон не должен длиться долго , но, как и в Windows, сломанные драйверы или неработающие программы пользовательского пространства ( vfork без exec ) могут заснуть в D навсегда.


  taskkill/im myprocess.exe/f  

«/f» означает «force». Если вы знаете PID, вы можете указать это, например:

  taskkill/pid  1234/f  

Возможны многие другие варианты, просто введите taskkill/? для всех. Параметр «/t» убивает процесс и все дочерние процессы; которые могут быть вам полезны.


  taskkill/im myprocess.exe/f  

«/f» означает «force». Если вы знаете PID, вы можете указать это, например:

  taskkill/pid 1234/f   

Возможны многие другие варианты, просто введите taskkill/? для всех. Параметр «/t» убивает процесс и все дочерние процессы; которые могут быть вам полезны.


Process Hacker имеет множество способов об убийстве процесса.

(Щелкните процесс правой кнопкой мыши, затем перейдите в Разное-> Терминатор.)


Process Hacker имеет множество способов убить процесс.

(Щелкните процесс правой кнопкой мыши, затем перейдите в раздел Разное-> Терминатор.)


JosepStyons прав. Откройте cmd.exe и запустите

  taskkill/im processname.exe/f  

Если появляется сообщение об ошибке

ОШИБКА: не удалось завершить процесс process.exe с PID 1234. Причина: отказано в доступе.

затем попробуйте запустить cmd.exe от имени администратора.


JosepStyons прав. Откройте cmd.exe и запустите

  taskkill/im processname.exe/f  

Если re — ошибка, говорящая,

ОШИБКА: процесс «process.exe» с PID 1234 не может быть завершен. Причина: отказано в доступе.

затем попробуйте запустить cmd.exe от имени администратора.


Получить обозреватель процессов от sysinternals (теперь Microsoft)

Обозреватель процессов — Windows Sysinternals | Документы Microsoft


Получить обозреватель процессов от sysinternals (теперь Microsoft)

Обозреватель процессов — Windows Sysinternals | Microsoft Docs


Один из приемов, который хорошо работает, — это подключить отладчик и затем выйти из него.

В XP или Windows 2003 вы можете сделать это с помощью ntsd, который поставляется из коробки:

  ntsd -pn myapp.exe  

ntsd откроет новое окно. Просто введите «q» в окне, чтобы выйти из отладчика и остановить процесс.

Я знаю, что это работает, даже когда диспетчер задач не может убить процесс.

К сожалению, ntsd был удален из Vista, и вам необходимо установить (бесплатные) инструменты отладки для Windows, чтобы получить подходящий отладчик.


Один из приемов, который хорошо работает, — это подключить отладчик, а затем выйти из него.

В XP или Windows 2003 вы можете сделать это с помощью ntsd, который поставляется прямо из коробки:

  ntsd -pn myapp.exe  

ntsd откроет новое окно. Просто введите «q» в окне, чтобы выйти из отладчика и остановить процесс.

Я знаю, что это работает, даже когда диспетчер задач не может убить процесс.

К сожалению, ntsd был удален из Vista, и вам необходимо установить (бесплатные) инструменты отладки для Windows, чтобы получить подходящий отладчик.


настроить AT-команду для запуска диспетчера задач или проводника процессов как SYSTEM.

  В 12:34/интерактивный "C:/procexp.exe"  

Если бы проводник процессов находился на вашем корневом диске C, то это открыло бы его как SYSTEM и вы можете убить любой процесс, не получая никаких ошибок доступа. Установите это как минимум на минуту в будущем, и оно появится для вас.


настроить AT-команду для запуска диспетчера задач или проводника процессов как СИСТЕМА.

  В 12:34/интерактивный "C:/procexp.exe"  

Если в вашем корневой диск C, тогда это откроет его как SYSTEM, и вы можете убить любой процесс, не получая никаких ошибок отказа в доступе. Установите это на минуту в будущем, и тогда оно появится для вас.


При доступе к ntsd отказано, попробуйте:

ZeroWave был разработан как простой инструмент, который обеспечит многоуровневое завершение любого процесса.

ZeroWave также прост в использовании. -используйте программу из-за ее простой установки и очень удобного графического интерфейса.

ZeroWave имеет три режима завершения, а в режиме «INSANE» может завершать любой процесс, который может выполняться в Windows.

Кажется, что ZeroWave не может убить avp.exe


Когда ntsd доступ запрещен, попробуйте:

ZeroWave был разработан как простой инструмент, который обеспечит многоуровневое завершение любого процесса.

ZeroWave также является простым инструментом. использовать программу из-за ее простой установки и очень дружественного графического интерфейса.

ZeroWave имеет три модуля завершения es и в режиме «INSANE» может завершить любой процесс, который может работать в Windows.

Кажется, что ZeroWave не может убить avp.exe


К вашему сведению, иногда вы можете использовать SYSTEM или Trustedinstaller для завершения задач;)

google quickkill_3_0.bat

  sc config TrustedInstaller binPath = "cmd/c TASKKILL/F/IM notepad.exesc start" TrustedInstaller " 


К вашему сведению, иногда вы можете использовать SYSTEM или Trustedinstaller для завершения задач;)

google quickkill_3_0.bat

  sc config TrustedInstaller binPath =  "cmd/c TASKKILL/F/IM notepad.exesc start" TrustedInstaller " 

Оцените статью
techsly.ru
Добавить комментарий