Eu quero matar um processo, depois de encontrar o ID em uma única etapa.
Atualmente, uso esses dois comandos:
pidof <name>
kill <#number_which_is_result_of_command>
Como posso escrever um único comando para fazer isso?
command-line
process
kill
Cuil Yahoo
fonte
fonte
bash
?tcsh
? ...?kill
variedade de comandos funcionará no console (além de poder ser automatizada em scripts etc). Ainda é bom conscientizar as pessoas sobre axkill
opção.Respostas:
Você também pode matar processos pelo nome:
Exemplo:
fonte
pkill
parakill
?-o
ou-n
,pkill
também mata todos os processos correspondentes, não apenas um.killall
é MUITO RUIM CONSELHOS. Ele faz coisas muito diferentes, dependendo do Unix / Linux em que você está.Para responder sua pergunta específica com seu conjunto de comandos, use:
Como
pidof <name>
fornece o PID do processo que você está tentando matar, você pode usá-lo com opções de linha de comando, como-9
etc também.Testado com
bash
etcsh
.fonte
kill $(pidof <name>)
é mais compatível (POSIX) e pode ser usado dentro de outro bloco de substituição de comando .$
versão funcionasse com o tcsh.tcsh
e você está certo. Não sabia disso. Obrigado pela informação!Deve ser um comentário sobre o Levon, mas não tenho o representante aqui para fazer isso:
Analisando a discussão na resposta aceita desta pergunta: /server/397762/how-to-make-folders-00-99-with-a-singsing-command-in-ubuntu
Eu diria que poderia ser preferível (ou pelo menos útil / mais claro para os pesquisadores posteriores) executar
Referência adicional em $ () vs. ``: http://mywiki.wooledge.org/BashFAQ/082
fonte
Você também pode usar o
killall
comando para matar o processo específico.fonte