Quero encerrar um processo, depois de encontrar o id em uma única etapa.
Atualmente uso estes dois comandos:
pidof <name>
kill <#number_which_is_result_of_command>
Como posso escrever um único comando para fazer isso?
Responder1
Você também pode encerrar processos por nome:
Exemplo:
pkill vim # kill all processes containing vim in the process name
Responder2
Para responder sua pergunta específica com seu conjunto de comandos, use:
kill `pidof <name>`
Como pidof <name>
fornece o PID do processo que você está tentando eliminar, você também pode usá-lo com opções de linha de comando, como -9
etc.
Testado com bash
e tcsh
.
Responder3
Deveria ser um comentário sobre Levon, mas não tenho representante aqui para fazê-lo:
Refletindo sobre a discussão na resposta aceita desta pergunta:https://serverfault.com/questions/397762/how-to-make-folders-00-99-with-a-single-command-in-ubuntu
Eu diria que poderia ser preferível (ou pelo menos útil/mais claro para pesquisadores posteriores) executar
kill $(pidof <name>)
Referência adicional sobre $() vs. ``:http://mywiki.wooledge.org/BashFAQ/082
Responder4
Você também pode usar killall
o comando para encerrar um processo específico.
killall vim