Ocasionalmente, un programa en una máquina con Windows se vuelve loco y simplemente se cuelga. Entonces llamaré al administrador de tareas y presionaré el botón "Finalizar proceso". Sin embargo, esto no siempre funciona; si lo intento suficientes veces, generalmente morirá eventualmente, pero realmente me gustaría poder matarlo de inmediato. En Linux podría simplementekill -9
garantizar que un proceso morirá.
Esto también podría usarse para escribir scripts por lotes y escribir scripts por lotes es programación.
¿Hay algún programa o comando que venga con Windows que siempre matará un proceso? Una aplicación de terceros gratuita estaría bien, aunque preferiría poder hacer esto en máquinas en las que me siento por primera vez.
Respuestas:
"Finalizar proceso" en las llamadas a la pestaña Procesos,
TerminateProcess
que es la mejor forma en que Windows sabe matar un proceso.Si no desaparece, actualmente está bloqueado esperando algún recurso del kernel (probablemente un controlador con errores) y no hay nada (salvo un reinicio) que pueda hacer para que el proceso desaparezca.
Eche un vistazo a esta entrada de blog de wayback cuando: http://blogs.technet.com/markrussinovich/archive/2005/08/17/unkillable-processes.aspx
Los sistemas basados en Unix como Linux también tienen ese problema en el que los procesos podrían sobrevivir
kill -9
si se encuentran en lo que se conoce como "suspensión ininterrumpida" (que se muestra en la parte superior y ps como estadoD
), en cuyo punto los procesos se suspenden tan bien que no pueden procesar las señales entrantes. (Que es quekill
hace: enviar señales).Normalmente, la suspensión ininterrumpida no debería durar mucho, pero como en Windows, los controladores rotos o los programas de espacio de usuario rotos (
vfork
sinexec
) pueden terminar durmiendo paraD
siempre.fuente
taskkill /f
Es lo más supremo.TerminateProcess
API. Hace exactamente lo mismo que el Administrador de tareas (sin embargo, tiene razón en eso, con privilegios elevados).La "/ f" es para "forzar". Si conoce el PID, puede especificar eso, como en:
Hay muchas otras opciones posibles, solo escriba taskkill /? para todos ellos. La opción "/ t" mata un proceso y cualquier proceso hijo; eso puede ser útil para usted.
fuente
taskkill /pid 1234 /f
funciona cuando End Task se niega a funcionar! ¡GUAUU!Process Hacker tiene numerosas formas de matar un proceso.
(Haga clic con el botón derecho en el proceso, luego vaya a Varios-> Terminador).
fuente
JosepStyons tiene razón. Abra cmd.exe y ejecute
Si hay un error que dice:
luego intente ejecutar cmd.exe como administrador.
fuente
ERROR: The process with PID 17888 (child process of PID 17880) could not be terminated. Reason: There is no instance of the task.
y se refiere al PID 17880 padre. Como no puede encontrar al padre, no matará al niño huérfano. :(Obtenga el explorador de procesos de sysinternals (ahora Microsoft)
Process Explorer - Windows Sysinternals | Documentos de Microsoft
fuente
Un truco que funciona bien es adjuntar un depurador y luego salir del depurador.
En XP o Windows 2003 puede hacer esto usando ntsd que viene de fábrica:
ntsd abrirá una nueva ventana. Simplemente escriba 'q' en la ventana para salir del depurador y eliminar el proceso.
He sabido que esto funciona incluso cuando el administrador de tareas no parece capaz de matar un proceso.
Desafortunadamente, ntsd se eliminó de Vista y debe instalar las herramientas de depuración (gratuitas) para Windows para obtener un depurador adecuado.
fuente
winsdk_web.exe
que no sea , que no hace nada.configurar un comando AT para ejecutar el administrador de tareas o el explorador de procesos como SYSTEM.
Si el explorador de procesos estaba en su unidad raíz C, esto lo abriría como SYSTEM y podría matar cualquier proceso sin obtener ningún error de acceso denegado. Establezca esto por un minuto en el futuro, luego aparecerá para usted.
fuente
Cuando se deniegue el acceso ntsd, intente:
ZeroWave fue diseñado para ser una herramienta simple que proporcionará una terminación multinivel de cualquier tipo de proceso.
ZeroWave también es un programa fácil de usar debido a su instalación simple y su interfaz gráfica muy amigable.
ZeroWave tiene tres modos de terminación y con el modo "INSANE" puede terminar cualquier tipo de proceso que pueda ejecutarse en Windows.
Parece que ZeroWave no puede matar avp.exe
fuente
Para su información, a veces puede usar SYSTEM o Trustedinstaller para matar tareas;)
google quickkill_3_0.bat
fuente