Como usar a linha de comando para matar um programa
Todo mundo sabe 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. Eu me deparei com várias situações em que o programa se recusou a terminar por meio do Gerenciador de Tarefas, mesmo quando tentei matar 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, então se você usar um comando diferente não mencionado aqui, por favor nos informe 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 é 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, você deve ser cuidadoso 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 qualquer dúvida.
Uma coisa a notar é que na maioria das vezes que esse comando é usado, ele é usado com o parâmetro / A. / A informa ao comando para finalizar o processo em execução em todas as sessões. Então, você normalmente digitaria o seguinte comando para ter certeza absoluta de que o processo foi eliminado:
tskill / Um 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 você 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 com 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 capacidade de usar curingas em TASKKILL.
OS X / Linux - KILL e KILLALL
No OS X e no 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 topo e ps -ax.
topo lhe dará uma lista de processos com o PID e o nome do programa também classificado pelo uso da CPU. É uma maneira rápida de encontrar o processo que você quer matar. ps -ax lhe dará uma lista ordenada 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:
matar -9 83002
83002 é o processo Terminal e o 9 significa matar o processo. Você pode usar outros números como 3, que significa Sair ou 6, o 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 deve usar este comando.
kill -TERM -1
Onde o KILL é útil para matar um processo ou todos os processos, o 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
ou
killall 'Google Chrome'
Note que você tem que usar as aspas simples ou qualquer coisa mais longa 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 programa killall ou programa killall -9. No OS X, o comando KILLALL é muito útil quando você não pode forçar o encerramento de um programa. Você não precisa saber o ID do processo, o que é legal. Basta digitar o nome e todos os processos serão eliminados associados a esse nome.
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. Apreciar!