Arquivo de lotes do Windows (WMI) - processo de tarefa baseado no uso de memória

0

Existe uma maneira de usar WMIC, arquivos bat ou powershell para eliminar uma tarefa com um nome de tarefa específico se a quantidade de memória virtual que o processo está usando estiver acima de um determinado limite?

Especificamente, eu quero matar qualquer instância do processo iexplore.exe se seu workingset (uso de RAM) ou alocação de memória virtual estiver acima de 1GB.

Eu posso matar uma tarefa usando taskkill usando este cmd: taskkill.exe /F /IM iexplore.exe e posso filtrar uma lista de processos e seu uso de RAM usando esse cmd wmic process where "name='iexplore.exe' and workingsetsize>=1000000000" get name, workingsetsize, processid .

    
por Darwyn 04.08.2014 / 04:19

1 resposta

1

Aqui está o comando que eu usei:

PowerShell -Command "get-process | ? {$_.WorkingSet64 -gt 10000000000 -AND ($_.name -like 'java' -OR $_.name -like 'iexplore')} | foreach {kill -id $_.Id -force}"

Ele usa o powershell para matar todos os processos chamados java ou iexplore se eles excederem 1GB de uso de RAM.

    
por 06.08.2014 / 00:21