Como Haxiel comentou, minha recomendação seria usar pkill :
pkill -9 ruby
$ 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
$
Como Haxiel comentou, minha recomendação seria usar pkill :
pkill -9 ruby
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.
Eu tentei com o comando abaixo
ps -eaf | grep -i ruby| grep -iv 'grep'| awk '{print "kill -9" " " $2}'| sh