Taskkill / f no mata un proceso


140

Cuando inicio una instancia experimental de VS desde VS para la depuración y detengo la depuración (a veces directamente desde el VS principal), sigue ejecutándose un proceso zombile devenv.exe que no puedo eliminar. Se aferra a muchos de mis dlls.

Como he iniciado sesión en esta máquina Win7 de 64 bits como Administrador, esperaría poder matar cualquier proceso que desee.

I tried (from Administrator command prompt):

End Task from Task Manager.
TASKKILL /F /IM devenv.exe
PSKILL devenv.exe

Ninguno devuelve ningún error y TASKKILLy PSKILLmensajes de éxito devueltos de terminación / matanza del proceso. Pero devenv.exe aún se ejecuta, no se vuelve a generar ya que PIDpermanece constante. Solo desaparece al reiniciar el sistema, lo que no es una gran solución.

Nota. LockHunter muestra que devenv tiene un bloqueo en sí mismo. Y no puede desbloquearlo.

Process Monitor muestra que devenv está en algún tipo de bucle 'Process Profiling'

La captura de pantalla anterior es la salida de Process Monitor que muestra que devenv está en algún tipo de bucle de 'Perfil de proceso' (haga clic derecho sobre él y haga clic en abrir imagen en una nueva pestaña para verlo correctamente).

¿Alguna idea de cómo matar tal proceso en Windows?


No tengo idea de por qué no recibe un error, pero para verificar una cosa: ¿llamó a estos comandos desde un símbolo del sistema elevado? De lo contrario, los comandos no se ejecutarán con privilegios de administrador, aunque su cuenta los tenga. (Sin embargo, esto no debería permitirles devolver el éxito cuando claramente fallaron;))
SvenS

1
Sí, todos los comandos se ejecutaron desde las indicaciones de comando del administrador.
dushyantp

3
Este tipo de pregunta es más apropiada en superuser.com . Sí, tienen buenas explicaciones allí. Este me ayudó.
Jarekczek

Respuestas:


81

debe matar el proceso hijo también si se genera alguno para matar con éxito su proceso

taskkill /IM "process_name" /T /F

/T = kills child process

/F = forceful termination of your process

25
Imprime dos mensajes de éxito en mi caso, pero el proceso todavía está allí. ¿Que demonios?
CodeManX

3
si eso fuera tan fácil :) no, no ayuda. Creo que su problema se debe a que el proceso imposible de matar está en algún bucle (zócalo, E / S, tuberías ...) donde el proceso principal es el proceso del sistema y matarlo hará que el sistema sea inestable. En ese caso, recomendaría primero entender en qué bucle está el proceso. Luego, si ese bucle es un intercambio de red con otro punto final, simplemente desconecte el cable de red o desconecte la conexión ya establecida.

75
Me sale un There is no running instance of the task proceso que realmente no quiere morir!
demongolem

1
Todavía me ayuda hoy, aunque también tengo que matar al "hijo del niño": taskkill / f / T / PID 4172 ==> ERROR: El proceso con PID 4172 (proceso hijo de PID 4724) no se pudo finalizar. ==> taskkill / f / T / PID 4724 ==> Listo
Hoàng Long

1
¡Yay por el /Tinterruptor menos mencionado !
kayleeFrye_onDeck

34

Los métodos taskkill y powershell (kill) no funcionaron para mí; todavía decía "Acceso denegado".

Tuve mejor suerte con esto:

wmic process where "name='myprocessname.exe'" delete

66
ERROR: Descripción =
Consulta

51
Windows-10. También: ERROR: Description = Access denied(Usando la consola de administración por cierto)
FractalSpace

1
¡Gracias! Eso funcionó de maravilla para mi npm atascado
Eduardo Elias Saléh

1
Increíble, muchas gracias. Pasé una hora matando antes de encontrar esto
Derek MC,

2
Este todavía no funciona en mi caso. Tener un Visual Studio atascado en los procesos, ejecutó el comando y dice Eliminar instancia \\ MyMachine \ ROOT \ CIMV2: Win32_Process.Handle = "6420", eliminación de instancia exitosa. Pero después de 5 minutos, todavía veo el proceso VS devenv.exe en la lista del administrador de tareas. Supongo que nada más que un reinicio es la única solución para mí.
wctiger

30

Simplemente tuve el mismo problema en Windows Server 2008 R2 y nada ayudó, ni el administrador de tareas ni el taskkill. Pero, Windows PowerShell se ejecuta como administrador trabajó con "kill -id pid"


3
Esto funcionó para mí ... aunque parecía haber un retraso de 30 segundos antes de que el proceso realmente desapareciera, por lo que al principio pareció fallar. En el caso que tenía, era un proceso que fue creado procesalmente por otra aplicación mientras el sistema tenía pocos recursos. El Explorador de procesos, el árbol de procesos de eliminación y varias otras cosas no funcionaron, pero esto funcionó.
J. Paulding

44
No funcionó para mí, me dio un error al no poder matar el proceso, etc., etc.
rboy

@rboy. Sé que es viejo, pero en caso de que alguien más vea que esto hace lo que hice. Abra powershell como administrador y luego ejecútelo. Al principio no lo ejecuté como administrador y me dijo que no podía hacerlo. Entonces lo ejecuté como administrador y funcionó.
Chris Jones

Esto funcionó para mí en Windows 10 con un mal funcionamiento del servicio de Windows. Ya había probado CMD, en este caso PowerShell es la herramienta adecuada
ThetaSinner

55
No tuve suerte incluso después de esperar más de 2-3 minutos. ninguno de los comandos está funcionando para mí actualmente
Tarun Gupta

28

Reiniciar es la única solución que funcionó para mí (hasta ahora).

El siempre excelente Mark Russonovich tiene una buena explicación para los procesos imposibles de matar.

Para resumir, es muy posible que se deba a solicitudes de E / S no procesadas que no se han manejado correctamente (por un controlador de dispositivo al que posiblemente haya accedido su programa)

http://blogs.technet.com/b/markrussinovich/archive/2005/08/17/unkillable-processes.aspx


1
Lo que hice fue apagarlo y luego reiniciarlo.
Gellie Ann

10

Sé que es tarde pero taskkill /im devenv.exe /t /fdebería funcionar. el /tmata procesos secundarios también.


12
Esto no parece funcionar para mí. Dice que es exitoso, pero el proceso aún aparece.
Scott Whitlock

2
Estoy frente a un problema similar también, pero con un servicio FTP Microsoft, dice terminado pero que sigue funcionando figura no puede salir
rboy

1
Si en lugar de /IM devenv.exeusarlo /PID 17888, el error básicamente dice que 17888 es un hijo de 17880 y 17880 no se está ejecutando y, por lo tanto, no se puede matar.
Jesse Chisholm

esto funciona, pero asegúrese de estar usando cmd desde el modo administrador.
karan

No funcionó para mí, tratando de eliminar el proceso de Windows Defender que usa cerca del 100% del acceso al disco ...
David Spector

7

En mi caso, después de varios días de luchar con este problema (le estaba ocurriendo a los procesos VirtualBox y µTorrent), descubrí que fue causado por un problema de controlador de red, provocado por el parche de actualización de Windows KB4338818 (Windows 7 x64). Después de desinstalar ese parche, todo volvió a la normalidad. Solo pensé que podría ser útil para otros.


¿Cómo descubriste que la actualización lo causó? Creo que nunca lo habría descubierto. ^^ '
das Keks

1
Me di cuenta de que lo único que cambió en mi máquina antes de que el problema se hiciera evidente fueron las actualizaciones, así que verifiqué cuál era mi última actualización y leí las notas de la versión. Parecía sospechoso y retrocedí para ver si el problema estaba resuelto, y así fue. Luego leí en algunos foros de Apache, no recuerdo cuál, que esta actualización también les ha causado problemas. Por cierto: la última actualización de Windows a partir de 2018 / Aug / 10 soluciona el problema con KB4338818, por lo que se puede instalar nuevamente.
Danita

6

Podría resolver mi problema relacionado con este problema matando explorer.exe, que a su vez era adicto al proceso que quería matar. Supongo que esto también puede suceder si los procesos abren interfaces a través del gancho que puede estar bloqueado.


1
Intenté matar y reiniciar explorer.exe y eso no funcionó.
Scott Whitlock

Cuando hice taskkill /IM "process_name" /T /Fparte de la respuesta fue: (child process of PID xxxx)así que verifiqué ese PID y era explorer.exe, reiniciarlo resolvió mi problema.
Facundo Colombier

5

Lo he visto varias veces y mi única solución fue reiniciar.

Puede intentar usar PowerShell: Get-Process devenv | matar

Pero si los otros métodos fallaron, esto probablemente también lo hará. :-(


¡Por desgracia, sí! Para mí también es el caso. ¿Alguna vez obtuviste alguna solución?
manocha_ak

No funcionó para mí en win10: PS D: \ work \ Projects \ libtiff.net_bin-2.4.560.0> Get-Process NSPRip | kill PS D: \ work \ Projects \ libtiff.net_bin-2.4.560.0> echo $? Verdadero PS D: \ work \ Projects \ libtiff.net_bin-2.4.560.0> Get-Process NSPRip maneja NPM (K) PM (K) WS (K) CPU (s) Id SI ProcessName ------- - ---- ----- ----- ------ - - ----------- 0 0 56 20 0.00 41236 1 NSPRip
zhaorufei

4

Native tskill <pid>(o tskill.exe <pid>) funcionó para mí en Windows 10 donde ninguna otra respuesta nativa lo hizo.

En mi caso, tenía algunos procesos de chrome.exe para los cuales la 'Finalizar tarea' del administrador de tareas estaba funcionando, pero ninguno de taskkill /F /T /PID <pid>los dos kill -id <pid>funcionaba (incluso con ambos shells ejecutados como admin).

Esto es muy extraño, ya que taskkillse supone que es una versión mejor de api-and-does-more tskill.

En mi caso para matar todas las instancias de una determinada tarea que utilicé FOR /F "usebackq tokens=2 skip=2" %i IN (`TASKLIST /FI "IMAGENAME eq name_of_task.exe"`) DO tskill %i


1
Esto funcionó para mí, cuando ninguno de los otros lo hizo. Thx: D
jk1990

3
No funciono para mi. GotEnd Process failed for 10576:Access is denied.
twasbrillig

Pasando lo mismo para mí. Lo que no puedo entender, ¿por qué? Se supone que taskkill es lo mismo que tskill [bastante mejor, en documentación, etc.]. Si alguien pudiera responder?
dvlper

1
Parece que no hay tskill en Windows 10
raffaem

No funcionó para mí, tratando de eliminar el proceso de Windows Defender que usa cerca del 100% del acceso al disco ...
David Spector

3

Voy a sugerir algo aquí porque recientemente enfrenté el mismo problema e intenté todo lo posible en las respuestas, pero nada funcionó. Estaba recibiendo errores como

ERROR: el proceso con PID 23908 no se pudo finalizar. Motivo: no hay una instancia en ejecución de la tarea.

usando el símbolo del sistema. Power Shell tampoco fue útil. simplemente ejecutaría los comandos y no respondería con el proceso aún ejecutándose.

Hasta que decidí eliminar el archivo '.exe' asociado. Como el archivo estaba activo, Windows no permitía la eliminación, pero en esa ventana de advertencia me dio el nombre del proceso que estaba retrasando la tarea que quería matar. Pude matar la tarea original y, por lo tanto, el proceso con errores.

Definitivamente vale la pena intentarlo si ninguna de las soluciones funciona.


3

Estaba obteniendo los siguientes resultados con taskkill

>taskkill /im "MyApp.exe" /t /f
ERROR: The process with PID 32040 (child process of PID 54176) could not be terminated.
Reason: There is no running instance of the task.

>taskkill /pid 54176  /t /f
ERROR: The process "54176" not found.

Lo que funcionó para mí fue de sysinternal pskill

>pskill.exe -t 32040

PsKill v1.15 - Terminates processes on local or remote systems
Copyright (C) 1999-2012  Mark Russinovich
Sysinternals - www.sysinternals.com

Process 32040 killed.

Puedes obtenerlo pskilldesde el sitio en vivo de sysinternal


2
No funciono para mi. Got:Unable to kill process 10576: Access is denied.
twasbrillig

1
¿Es posible que deba hacerlo desde un shell de comandos con derechos de administrador?
BenV136

2

Algunos de los archivos Exe dependen de algunos servicios,

Entonces necesita encontrar el servicio respectivo y detenerse primero.


44
¿Alguna pista sobre cómo resolver esto? En el administrador de tareas no muestra ningún servicio correspondiente a devenv.exe. En este momento estoy tratando de recrear el problema, una vez hecho esto, usaré el explorador de procesos para profundizar en los servicios que podrían estar reteniéndolo.
dushyantp

2

El mismo problema me ocurrió en VirtualBox con respecto a los procesos de Java.

En mi caso, se debió a un error en el parche de actualización de Windows KB4338818 (Windows 7 x64).

Lo resolví haciendo lo siguiente:

  • Desinstalar el parche de actualización de Windows KB4338818
  • Instale el parche de actualización de Windows KB4338821

2

Ejecutar como administrador funciona para mí:

1.buscar cmden windows

2. Haga clic derecho en cmdseleccionar como "Ejecutar como administrador"

3)netstat -ano | findstr :8080

4)taskkill/pid (your number) /F

Mi resultado


Si obtiene un error como: 'nestat' no se reconoce como un comando interno o externo, programa operativo o archivo por lotes. es posible que deba ejecutar el comando como C: \ Windows \ system32 \ netstat.exe en lugar de simplemente nestat
sk8asd123

2

Para mí, la forma en que funcionó es que tengo que matar el proceso principal. Calcule el proceso principal y elimínelo

taskkill /IM "parent_process_name.exe" /T /F

1

Tengo el problema con los procesos depurados con gdb en Code :: Blocks. Tan pronto se cuelga mientras accidentalmente ingresa instrucciones fuera del alcance de sus fuentes (como bibliotecas sin fuentes o funciones del sistema) no puede salir de la depuración ni desde Code :: Blocks ni desde Task-Manager.

Creo que es un error en la implementación de gdb en Code :: Blocks, pero también podría estar en gdb;)

Mi solución:

taskkill /F /IM process.exe /T

Esto muestra el PID del proceso padre. Ahora mata al padre:

taskkill /PID yyyy

Ambos se han ido.

Hecho.


1
Es posible que el PID primario no exista.
user1133275

Especifique qué son gdb y Code :: Blocks;)
azulado el

3
Advertencia: si el proceso padre está services.exematando al padre puede causar BSOD
MM

1

si taskkill /F /T /PID <pid>no funciona Intente abrir su terminal por Run as Administrator.

Busque cmden su menú de Windows y haga clic derecho Run as Administrator, luego ejecute el comando nuevamente. Esto funcionó para mí.


1

Si descarga la suite gratuita sysinternals, tiene una aplicación pskill.exe que funciona bien para este tipo de tareas: pskill.exe "nombre_proceso" Funciona en estos procesos incluso sin usar su opción -t.


1

Hice lo siguiente, en un powershell elevado:

PS C:\Windows\system32> wmic.exe /interactive:off process where "name like `'java%'`" call terminate

salida de comando:

Executing (\\SRV\ROOT\CIMV2:Win32_Process.Handle="3064")->terminate()
Method execution successful.

Parámetros de salida:

instance of __PARAMETERS
{ReturnValue = 0; };

Tengo información de sintaxis en: https://community.spiceworks.com/topic/871561-wmic-error-like-invalid-alias-verb


Esto realmente funcionó, debe aceptarse respuesta. Gracias
John Newman

0

NirCmd de NirSoft hizo el trabajo por mí:

nircmd killprocess "process name.exe"

La página de manual de killprocess está aquí .


0

Me enfrenté al mismo problema cuando comencé una aplicación de nodo en el puerto 3000 y no se cerró correctamente y el proceso siguió ejecutándose incluso después de reiniciar.

Ninguno de los comandos taskkill o powershell que se ejecutan en modo Administrador funcionó para mí.

Utilicé MS Process Expoler> Propiedades> Imagen> Directorio actual (que se suponía que era el directorio de mi proyecto).

Finalmente, tuve que reiniciar en SafeMode y cambiar el nombre de la carpeta del proyecto y reiniciar. Los procesos Node que consumían el puerto 3000 se suicidaron.


0

Tuve exactamente el mismo problema, encontré esta solución en otro sitio: powershell.exe "Get-Process processname | Stop-Process" funcionó para mí y estaba en el mismo barco donde tuve que reiniciar, el / T no funcionaría .


0

Como Francis mencionó, algunos procesos no pueden terminarse debido a

"solicitudes de E / S sin procesar"

En mi experiencia, estaba tratando con un controlador gráfico defectuoso que haría que mi juego se bloqueara y no pudiera cerrarlo, como último recurso deshabilité el controlador gráfico y el proceso finalmente desapareció.

Si su aplicación está esperando un recurso del controlador como wifi o gráfico, intente deshabilitarlos en el administrador de dispositivos , debe profundizar un poco para ver dónde colgaron.

Por supuesto, esto no es recomendable, pero a veces ya no tienes nada que perder.


0

Tuve el mismo problema y como muchos otros aquí han dicho, ninguno de los comandos normales de Kill funcionó. El archivo de mi problema era un ejecutable que un usuario estaba ejecutando desde un recurso compartido de red en un servidor de escritorio remoto. Con múltiples usuarios compartidos no es fácil reiniciar durante un día de trabajo. Incluso cuando el usuario cerró la sesión, el exe todavía figuraba en el Administrador de tareas. Envié al servidor donde se compartió la carpeta y desde Computer Management -> Sessions encontré que el usuario con la sesión todavía abierta desde ese servidor RDP a pesar de que estaba desconectado. Haga clic derecho -> Cerrar sesión y se liberó el bloqueo de archivo.

Me gana por qué no pude terminar las tareas. El mensaje de error que recibí originalmente cuando intento eliminar el archivo era "La acción no se puede completar porque el archivo está abierto en el Sistema"

Espero que esto ayude a alguien más.


0

En mi caso, ninguna de las soluciones aquí funcionó. Finalmente descubrí que el programa en cuestión estaba congelado al intentar sondear las interfaces de audio USB. Así que desconecté un DAC USB que había conectado y, para mi sorpresa, la aplicación se cerró al instante. La respuesta de Francis menciona que podría ser el resultado de "solicitudes de E / S sin procesar que no se han manejado correctamente (por un controlador de dispositivo al que posiblemente haya accedido su programa)", lo que podría explicar por qué esto lo solucionó.

Supongo que realmente depende de lo que estaba haciendo el programa cuando se congeló, pero si ninguna de las otras soluciones funciona, intente desconectar todos los dispositivos USB para ver si uno de ellos podría ser la causa.



-8
  1. administrador de tareas abierto
  2. seleccione la pestaña de servicios
  3. seleccione el proceso (devenv.exe) que desea eliminar y haga clic en el botón de servicios
  4. justo en el proceso, seleccione propiedades y desactívela ...
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.