Mate rapidamente os processos que contêm palavra

1
$ ps aux | grep ruby
user              1565   3.7  0.1  4307464  17696 s000  S+    7:31AM   0:00.61 /Users/user/.rbenv/versions/2.3.1/bin/ruby bin/rails c
user              1579   0.0  0.0  4268020    788 s001  S+    7:31AM   0:00.00 grep ruby
user              1489   0.0  0.0        0      0   ??  Z     7:29AM   0:00.00 (ruby)

Como eu mato rapidamente todos esses processos?

O que eu tentei:

kill -9 'ps aux | grep ruby'

Meu ambiente:

$ bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18)
Copyright (C) 2007 Free Software Foundation, Inc.
$ uname -a
Darwin MacBook-Pro.local 18.0.0 Darwin Kernel Version 18.0.0: Wed Aug 22 20:13:40 PDT 2018; root:xnu-4903.201.2~1/RELEASE_X86_64 x86_64
$
    
por american-ninja-warrior 20.11.2018 / 16:34

3 respostas

3

Como Haxiel comentou, minha recomendação seria usar pkill :

pkill -9 ruby
    
por 20.11.2018 / 18:59
1

kill $(ps aux | grep ruby | grep -v grep | awk '{print $2}' | xargs)

for p in $(ps aux | grep ruby | grep -v grep | awk '{print $2}'); do kill $p; done

Você pode substituir kill9 por kill , se necessário.

    
por 20.11.2018 / 16:48
-1

Eu tentei com o comando abaixo

ps -eaf | grep -i ruby| grep -iv 'grep'| awk '{print "kill -9" " " $2}'| sh
    
por 20.11.2018 / 17:28