Ocasionalmente, um programa em uma máquina Windows fica louco e trava. Então, eu chamo o gerenciador de tarefas e clico no botão "Finalizar processo". No entanto, isso nem sempre funciona; se eu tentar várias vezes, geralmente acabará morrendo, mas eu realmente gostaria de poder matá-lo imediatamente. No Linux, eu poderia apenas kill -9
garantir que um processo morresse.
Isso também pode ser usado para escrever scripts em lote e escrever scripts em lote para programação.
Existe algum programa ou comando que vem com o Windows que sempre mata um processo? Um aplicativo gratuito de terceiros seria bom, embora eu prefira poder fazer isso em máquinas nas quais me sento pela primeira vez.
Respostas:
"Finalizar processo" nas chamadas da guia Processos,
TerminateProcess
que é a melhor maneira que o Windows sabe para matar um processo.Se ele não desaparecer, ele está bloqueado, aguardando algum recurso do kernel (provavelmente um driver de buggy) e não há nada (exceto uma reinicialização) que você possa fazer para fazer o processo ir embora.
Dê uma olhada nesta entrada do blog da wayback quando: http://blogs.technet.com/markrussinovich/archive/2005/08/17/unkillable-processes.aspx
Sistemas baseados em Unix, como o Linux, também têm esse problema em que os processos podem sobreviver
kill -9
se estiverem no chamado "sono ininterrupto" (mostrado por top e ps como stateD
), no qual os processos dormem tão bem que não conseguem processar os sinais recebidos. (que é o quekill
faz - enviando sinais).Normalmente, o sono ininterrupto não deve durar muito, mas como no Windows, drivers quebrados ou programas quebrados de espaço de usuário (
vfork
semexec
) podem acabar dormindo paraD
sempre.fonte
taskkill /f
é o mais definitivo.TerminateProcess
API. Faz exatamente a mesma coisa que o Gerenciador de tarefas (porém, você está certo nisso, com privilégios elevados).O "/ f" é para "força". Se você conhece o PID, pode especificar isso, como em:
Muitas outras opções são possíveis, basta digitar taskkill /? para todos eles. A opção "/ t" mata um processo e qualquer processo filho; isso pode ser útil para você.
fonte
taskkill /pid 1234 /f
funciona quando a tarefa final se recusa a trabalhar! UAU!Process Hacker tem várias maneiras de matar um processo.
(Clique com o botão direito do mouse no processo e vá para Diversos-> Terminador.)
fonte
JosepStyons está certo. Abra o cmd.exe e execute
Se houver um erro dizendo:
tente executar o cmd.exe como administrador.
fonte
ERROR: The process with PID 17888 (child process of PID 17880) could not be terminated. Reason: There is no instance of the task.
e está se referindo ao pai PID 17880. Como não consegue encontrar o pai, não mata o filho órfão. :(Obtenha o explorador de processos da sysinternals (agora Microsoft)
Process Explorer - Windows Sysinternals | Docs da Microsoft
fonte
Um truque que funciona bem é anexar um depurador e sair do depurador.
No XP ou Windows 2003, você pode fazer isso usando o ntsd que é enviado imediatamente:
O ntsd abrirá uma nova janela. Basta digitar 'q' na janela para sair do depurador e executar o processo.
Eu sei que isso funciona mesmo quando o gerenciador de tarefas não parece capaz de matar um processo.
Infelizmente, o ntsd foi removido do Vista e você precisa instalar as ferramentas de depuração (gratuitas) do Windows para obter um depurador adequado.
fonte
winsdk_web.exe
que não seja o que não faz nada.configure um comando AT para executar o gerenciador de tarefas ou o explorador de processos como SYSTEM.
Se o Process Explorer estivesse em sua unidade C raiz, isso o abriria como SYSTEM e você poderia matar qualquer processo sem obter nenhum erro de acesso negado. Defina isso por um minuto no futuro, e ele aparecerá para você.
fonte
Quando o acesso ntsd for negado, tente:
O ZeroWave foi projetado para ser uma ferramenta simples que fornecerá a terminação em vários níveis de qualquer tipo de processo.
O ZeroWave também é um programa fácil de usar devido à sua instalação simples e sua interface gráfica muito amigável.
O ZeroWave possui três modos de finalização e, com o modo "INSANE", pode finalizar qualquer tipo de processo que possa ser executado no Windows.
Parece que o ZeroWave não pode matar o avp.exe
fonte
Para sua informação, às vezes você pode usar o SYSTEM ou o Trustedinstaller para matar tarefas;)
google quickkill_3_0.bat
fonte