Sempre que preciso interromper um processo em segundo plano, ps -e | grep <process_name>
Que imprime algo parecido com isto 1766 ? 00:00:13 conky
, então eu uso o ID do processo para kill
isso assim kill 1766
.
Existe alguma maneira de simplificar isso? Torná-lo mais rápido? reduzir a quantidade de digitação?
Respostas:
(TL, DR:
pgrep
,pkill
)Muitas variantes do unix vêm com o
pgrep
e seu acompanhantepkill
: Solaris , Linux (parte dos utilitários de processo padrão , podem estar ausentes nos sistemas Linux embarcados), FreeBSD , OpenBSD , NetBSD , ... mas apenas no MacPorts no OS X , não no AIX e somente recentemente no HP-UX . Opgrep
utilitário mostra o ID do processo dos processos correspondidos por nome, usuário e alguns outros critérios. O argumento topgrep
é interpretado como uma regexp que deve corresponder a parte do nome do executável do processo (a menos que você passe uma opção para alterar isso). Se você ligar empkill
vez depgrep
, o utilitário envia um sinal em vez de exibir os IDs do processo.Outro utilitário semelhante é o pidof . No Linux , é fornecido pelo SysVinit ou BusyBox (então você o encontrará em um sistema Linux incorporado que não possui
pgrep
); também existem portas em outras variantes unix. Opidof
utilitário tem menos opções, geralmente corresponde apenas a nomes de arquivos executáveis inteiros. Seu utilitário complementarkillall
envia um sinal para os programas correspondentes¹.That Cuidado
killall
com um significado diferente no Solaris e possivelmente em outras variantes do unix; não digitekillall
como raiz no Solaris.fonte
killall ProcessName
(existe uma desvantagem com este comando, pois você nem sempre sabe o nome do processo de um programa).pidof ProccessName
ekill the result form pidof
ps xu | grep <process name> | grep -v grep | awk '{ print $2 }' | xargs kill -9
Experimente esta linha e reutilize-a para formar o histórico da sua festança, ou melhor, crie um alias para ela.fonte
pidof
parece um pouco mais fácil, mas ainda são necessários dois passosEnquanto Hanan tem algumas boas sugestões, vou adicionar
pgrep
/pkill
. Eles permitem um controle muito mais preciso sobre o processo que você encontra e expressões regulares se você não souber o processo preciso que precisará matar.O PS Hanan's
pidof
pode ser alimentadokill
diretamente com backticks:fonte
pkill
era exatamente o que eu procurava, na maioria das vezes sei o nome do processo, principalmente o seuconky
oufirefox
ouchrome
ou algo parecido. GraçasQue tal agora -
Exemplo:
Atualizar:
Desculpe, obviamente, isso não atende ao requisito de menos digitação, portanto, uma boa maneira de fazer isso seria adicionar um
function
ao seu.bashrc
,.profile
ou qualquer que seja o script de inicialização. A função pode ser algo como isto -Depois de adicionado, você pode simplesmente passar o nome do seu processo:
fonte