Antes de tentar reinventar a roda e rodar sozinho, alguém conhece um aplicativo / utilitário que me permite matar processos, filtrando por nome e proprietário do processo? Como alternativa, isso poderia ser feito através do PowerShell? (Infelizmente, meu powershell-fu está faltando).
Eu olhei para ambos pskill
e taskkill
. Embora pskill
permita o encerramento pelo nome do processo, ele não me permite filtrar ainda mais pelo proprietário do processo. Também observei o WMI via wmic ( wmic process
), mas a interface WMI não retorna o proprietário do processo (pelo menos pelo que sei), portanto, também não pode usar isso.
Justificativa
Eu desenvolvo um pouco do desenvolvimento no Windows. Parte disso envolve lidar com os Serviços de Componentes (COM +). O COM + possui um processo host genérico - dllhost.exe - usado tanto para elementos personalizados (ou seja, coisas que eu desenvolvi) quanto para processos do sistema. Eu posso diferenciá-los pelo proprietário que eles administram. Por exemplo, quero matar todos os processos dllhost.exe de minha propriedade, mas ignorar os de SYSTEM.
Isso me pouparia ir regularmente ao Gerenciador de tarefas e identificar e matar manualmente cada um deles :-)
Você não estava olhando o suficiente.
Você pode até filtrar por módulos carregados, usando
/fi "modules eq libfoo.dll"
.fonte