Em computadores Windows com o powershell instalado, você pode fazer isso:
get-process PROCESS_NAME | stop-process
Como posso matar um processo em execução em várias sessões usando um script bash ou powershell?
Em computadores Windows com o powershell instalado, você pode fazer isso:
get-process PROCESS_NAME | stop-process
Alternativa Bash
pgrep killus | while read p; do kill -9 $p; done
mata todos os processos chamados killus
Você quer automatizar isso, ou apenas ter uma ferramenta disponível onde você pode matar manualmente várias instâncias de um processo pelo nome, independentemente de em qual sessão de usuário alguma instância está sendo executada? Estou assumindo o último, e o seguinte deve conseguir isso.
No Windows, você não pode vencer o utilitário "pskill" da Sysinternals. Pegue a suíte SysInternals , descompacte e, em um prompt de comando, simplesmente use pskill theprocessname
para deep-six instâncias do executável correspondente.
O seguinte script bash forneceria uma funcionalidade similar no Linux; Deixarei para o usuário descobrir como fazer o loop até que não existam mais instâncias:
#!/bin/bash
if [ $1 -eq ""]; then
echo "Usage : ./pkill.sh <process name>"
else
get_proc='ps -e -o pid,command | grep $1'
echo $get_proc > get_it
get_pid='gawk -F" " '{ print $1 }' get_it'
kill -9 $get_pid
fi
(Script extraído diretamente do link , mas colando aqui para a posteridade porque eu odeio encontrar links mortos em respostas nos sites do StackExchange.)
Espero que isso ajude!
Tags bash powershell script