Existe uma maneira (talvez um script) de como automatizar esse processo:
petr@sova:~$ ps -ef | grep middleman
petr 18445 2312 1 12:06 pts/2 00:00:01 /home/petr/.rvm/gems/ruby-1.9.3-p362/bin/middleman
petr 18581 13621 0 12:08 pts/0 00:00:00 grep --color=auto middleman
petr@sova:~$ kill -9 18445
Infelizmente, pkill
é muito fraco, pois tenho que seguir com a -9
opção kill
.
-9
compkill
muito ...-KILL
que-9
. Qual número corresponde a qual sinal depende da implementação.SIGKILL
acontece9
no Linux i386 e Linux amd64, mas não necessariamente em todos os lugares. ( Mais informações aqui ) .-KILL
também (porque torna o código mais legível), deve-se notar queSIGKILL = 9
é especificado pelo POSIX , por isso-9
é bastante portátil hoje em dia (e não depende de kernels ou arquiteturas).Respostas:
Você pode usar seu shell para executar esta tarefa para você:
O shell executa o comando
pidof middleman
primeiro. A saída do pidof (8) é a identificação do processo. Portanto, o shell substitui opidof
comando-pelo ID do processo e executakill -9 18845
(ou seja qual for o ID do processo correto).fonte
kill -9 $(pgrep middleman)
?Existe uma solução ainda mais simples que a do qbi:
killall
vamos matar processos pelo nome e você pode especificar sinais.Veja
man killall
para mais informações e opções extras (existem algumas).Como o nome sugere, isso envia o sinal para todos os processos nomeados
middleman
. Mas isso não é diferente de outras maneiras (comopkill
). Além disso,pkill -9 middleman
terá como alvo processos cujo nome partida, mas não igualmiddleman
, comomiddleman2
, também.fonte
killall
para a vitória!As outras respostas estão totalmente corretas, mas eu poderia adicionar uma terceira opção para que todas sejam documentadas aqui. Você também pode usar:
Veja
man pkill
para mais informações e opções extras.Realmente não importa qual desses métodos você usa. Todos eles funcionarão. Mas conhecer as opções se for útil, se você quiser modificar o comportamento de alguma forma, pois as páginas de manual correspondentes mostram quais outras opções correspondentes estão disponíveis.
fonte
middleman*
middleman
. Isto é onde as diferenças em como exatamentepkill
,killall
,pidof
egrep
processos de jogo realmente começar a matéria!A
-f
opção faz com que ela corresponda à linha de comando completa, em vez de apenas ao nome do processo.Observe que
-9
deve ser um sinal de último recurso, e não algo a ser usado rotineiramente.fonte
complete command line
Apenas por diversão, eu gostaria de adicionar uma maneira mais manual e antiga
fonte
... grep [m]iddleman ...
para evitar matar ogrep
processo por acidente. Dessa forma, o grep não pode se igualar por causa de citações engraçadas.que é interativo (seguro) e corresponde ao nome do comando parcial.
fonte