¿Eliminar proceso por nombre y propietario?


12

Antes miro en reinventar la rueda y rueda mi propia, es cualquier persona consciente de una aplicación / utilidad que permite que mate a los procesos, filtrando por tanto el nombre del proceso y el propietario del proceso? Alternativamente, ¿podría hacerse esto a través de powershell? (Mi powershell-fu lamentablemente falta).

He mirado los dos pskilly taskkill. Aunque pskillpermite terminar por nombre de proceso, no me permite filtrar más por propietario del proceso. También he visto WMI a través de wmic ( wmic process), pero la interfaz WMI no devuelve el propietario del proceso (al menos por lo que puedo decir), por lo que tampoco puedo usar esto.

Justificación
Realizo una gran parte del desarrollo en Windows. Algo de esto implica tratar con Servicios de componentes (COM +). COM + tiene un proceso de host genérico, dllhost.exe, que se usa tanto para elementos personalizados (es decir, cosas que he desarrollado) como para procesos del sistema. Puedo diferenciarlos por el propietario con el que se ejecutan. Entonces, por ejemplo, quiero eliminar todos los procesos dllhost.exe que poseo, pero ignoro los que son propiedad de SYSTEM.

Esto me ahorraría ir al Administrador de tareas de forma regular e identificar y eliminar manualmente cada uno :-)

Respuestas:


5

En powershell harías:

gwmi -query "select * from win32_process where name='PROCESSNAME.exe'" | %{if($_.GetOwner().User -eq 'USERNAME'){$_.terminate()}}

Ah, excelente salud. Eso funciona bien :-)
Chris J

24

No estabas buscando lo suficiente.

taskkill /f /fi "imagename eq foo.exe" /fi "username eq Chris"

Incluso puede filtrar por módulos cargados, utilizando /fi "modules eq libfoo.dll".


2
Mucho más fácil que el método PS :)
EBGreen

Tienes razón, no estaba buscando lo suficiente. Eso es malo de mi parte.
Chris J
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.