De qualquer forma, para escrever um Windows .arquivo bat para matar processos?
-
09-06-2019 - |
Pergunta
Então, toda vez que eu ligar na minha empresa de desenvolvimento de máquina de eu ter que matar 10+ processos usando o gerenciador de tarefas ou de qualquer outro processo de gerenciamento de aplicativo apenas para obter um desempenho decente da minha IDE.Sim, estes são os processos de programas que minha empresa se instala em minha máquina para segurança e conformidade.O que eu gostaria de fazer é ter um .arquivo bat ou script de algum tipo que eu só posso disparar e matar os processos em questão.
Alguém já sabe como fazer isso?
Solução
Você pode fazer isso com "taskkill'.Com a /IM parâmetro, você pode especificar nomes de imagem.Exemplo:
taskkill /im somecorporateprocess.exe
Você também pode fazer isso para 'forçar' matar:
taskkill /f /im somecorporateprocess.exe
Basta adicionar 1 linha para cada processo que você deseja eliminar, guardar como .arquivo bat, e colocar na sua pasta de inicialização.Problema resolvido!
Se este é um sistema legado, PsKill vai fazer o mesmo.
Outras dicas
taskkill /f /im "devenv.exe"
este será forçado a matar o pid com o nome do exe "devenv.exe"
equivalente a -9 na nix y comando kill
Como TASKKILL poderão não estar disponíveis em alguns Home/basic edições do windows aqui algumas alternativas:
TSKILL processName
ou
TSKILL PID
Ter em mente que processName
não deve ter a .exe
o sufixo e é limitada a 18 caracteres.
Outra opção é WMIC
:
wmic Path win32_process Where "Caption Like 'MyProcess.exe'" Call Terminate
wmic oferecem mais flexibilidade do que taskkill .Com wmic Path win32_process get
você pode ver os campos disponíveis você pode filtrar.
Eu estou assumindo-se como um desenvolvedor, você tem algum grau de controle administrativo sobre a sua máquina.Se assim for, a partir da linha de comando, execute msconfig.exe.Você pode remover muitos processos a partir mesmo de começar, eliminando assim a necessidade de matá-los com o acima mencionado soluções.
Obter Autoruns a partir de Mark Russinovich, o Sysinternals cara que descobriu o Rootkit da Sony...Melhor software que eu já utilizada para limpar as coisas que começar automaticamente.
Download PSKill.Escrever um ficheiro batch que o chama para cada processo que você deseja mortos, passando o nome do processo de cada um.
Use O Powershell!Construído em cmdlets para o gerenciamento de processos. Os exemplos aqui (duros), aqui(incorporado) e aqui (mais).
Por favor, encontrar o abaixo lógica onde ele trabalha sobre o problema.
Se nós simplesmente chamada taskkill /im applicationname.exe
, ele vai matar somente se o processo estiver em execução.Se este processo não está em execução, ele irá lançar um erro.
De modo a verificar antes de takskill
é chamado, um cheque pode ser feito para certificar-se de execução taskkill
será executado somente se o processo estiver em execução, de modo que não lançar erro.
tasklist /fi "imagename eq applicationname.exe" |find ":" > nul
if errorlevel 1 taskkill /f /im "applicationname.exe"
Aqui eu escrevi um exemplo de comando que você pode colar em seu cmd
prompt de linha de comando e é escrito para chrome.exe
.
FOR /F "tokens=2 delims= " %P IN ('tasklist /FO Table /M "chrome*" /NH') DO (TASKKILL /PID %P)
A apenas leva todos os PID
s listados abaixo tasklist
comando e executa TASKKILL /PID
em cada PID
tasklist /FO Table /M "chrome*" /NH
Se você usar o em um arquivo em lotes apenas use %%P, em vez de %P