Todos sabem como matar um programa usando o Gerenciador de Tarefas no Windows ou o Force Quit no OS X, mas às vezes é útil matar um programa usando a linha de comando. Já tive várias situações em que o programa se recusou a terminar por meio do Gerenciador de Tarefas, mesmo quando tentei eliminar o processo subjacente. O Force Quit tem suas próprias peculiaridades e nem sempre mata um programa como deveria. É quando você pode usar o poder da linha de comando.
Neste artigo, vou passar pelos comandos para matar um programa no Windows, OS X e Linux. Curiosamente, geralmente há mais de um comando para realizar isso, então tentarei mencionar os diferentes que usei. Não é uma lista exaustiva, portanto, se você usar um comando diferente não mencionado aqui, informe-nos nos comentários.
Windows - TSKILL e TASKKILL
No Windows, você pode usar dois comandos para matar um programa: TSKILL e TASKKILL. O TSKILL é um comando mais simples e menos poderoso, mas faz o trabalho muito bem. Por exemplo, se você estiver executando o Microsoft Word, o nome do processo será winword.exe. Para matar o Word a partir da linha de comando, basta digitar o seguinte comando:
tskill winword
Isso matará o Word e você perderá todos os dados não salvos, portanto é necessário ter cuidado ao usá-lo. Eu tentei em um documento do Word não salvo e ele desapareceu quando eu corri isso, sem instruções para salvar os documentos. Isso é bem verdade de todos os comandos que vou mencionar aqui, como esse é o ponto. Você pode matar um programa instantaneamente sem perguntas.
Uma coisa a notar é que na maioria das vezes que este comando é usado, é usado com o parâmetro / A. / A informa ao comando para finalizar o processo em execução em todas as sessões. Então tipicamente você digitaria o seguinte comando para ter certeza absoluta de que o processo está morto:
tskill /A winword
O segundo comando, que tem mais opções e é mais poderoso, é o TASKKILL. Se você olhar a página de ajuda do TASKKILL, verá o que quero dizer:
Se quiser ter mais controle e opções para matar um programa no Windows, use o TASKKILL. Para começar, você pode matar um programa usando o seguinte comando:
taskkill /F /IM winword.exe
Observe que você precisa usar o .EXE ao usar o comando TASKKILL. / F significa encerrar o processo à força. / IM significa o nome da imagem, ou seja, o nome do processo. Se você quiser matar usando o ID do processo (PID), você tem que usar / PID em vez de / IM. / T é ótimo porque vai matar todos os processos filhos iniciados pelo processo especificado.
Você também pode usar o TASKKILL para conectar-se remotamente a outro sistema e eliminar um processo nesse sistema remoto. O que eu também gosto é a habilidade de usar curingas em TASKKILL.
OS X / Linux - KILL e KILLALL
No OS X e Linux, você tem dois comandos para matar processos: KILL e KILLALL. Você tem que executá-los na janela do terminal. Para matar um programa, você precisa usar o nome do programa ou o ID do processo. Existem algumas maneiras de encontrar essa informação. Uma maneira é através do Activity Monitor.
No entanto, isso requer a interface gráfica. Se você estiver usando a linha de comando para eliminar um processo, poderá usar a linha de comando para encontrar também as informações do processo. Dois comandos que vêm à mente são tope ps -ax.
topfornecerá uma lista de processos com o PID e o nome do programa também classificados por uso da CPU. É uma maneira rápida de encontrar o processo que você quer matar. ps -axlhe dará uma lista classificada por PID e o caminho do programa. É um pouco diferente do topo.
Agora, para matar o programa no OS X. Você pode simplesmente digitar o seguinte comando para matar um processo específico:
3
83002 é o processo Terminal e o 9 significa matar o processo. Você pode usar outros números como 3, que significa Quit, ou 6, que significa Abortar. Na maioria das vezes, você vai ficar com 9. Você também pode usar o comando KILL para matar todos os processos em execução, embora você provavelmente nunca deva usar este comando.
kill -TERM -1
KILL é útil para matar um processo ou todos os processos, KILLALL está usando para matar um grupo de processos. Por exemplo, se você estiver executando o Google Chrome, poderá ter 10 processos do Chrome em execução. Seria muito chato usar o KILL dez vezes para desligar o Chrome. Em vez disso, você poderia usar o KILLALL assim:
killall Evernote
or
killall 'Google Chrome'
Observe que você tem que usar aspas simples ou nada mais do que uma palavra. Além disso, se o processo não estiver sendo executado sob o seu nome, mas estiver sendo executado em root, você deverá usar o seguinte comando:
sudo killall 'Google Chrome'
ou
sudo killall -9 'Google Chrome'
Novamente, o 9 está enviando o sinal específico para KILL ao invés de TERM. Sudo só é necessário se você receber um erro sobre não ter permissão. Caso contrário, você pode fazer
Este artigo foi criado para fornecer métodos mais avançados para eliminar um programa no Windows, OS X e Linux. Se você tiver alguma dúvida sobre como matar um programa usando a linha de comando, poste um comentário e tentarei ajudar. Aproveite!