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)

How do I quickly kill all these processes?

What I tried:

kill -9 `ps aux | grep ruby`

My environment:

$ 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
$
  • 1
    pkill might be the command you're looking for. – Haxiel Nov 20 '18 at 15:42
3

As Haxiel commented, my recommendation would be to use pkill:

pkill -9 ruby
  • -9 is it required? – GAD3R Nov 20 '18 at 18:09
  • 1
    Nope; the OP gave that as the example that they wanted. – Jeff Schaller Nov 20 '18 at 18:10
  • I'm upvoting your answer. Mine works as well but yours is cleaner and less tedious. I'm aware of the pkill command but I use kill out of habit and didn't want to give misinformation as I didn't have a computer to test at the time. – Nasir Riley Nov 20 '18 at 19:52
  • I don't have an OSX system at hand, either, but I'm encouraged by the existence of the corresponding man page. – Jeff Schaller Nov 20 '18 at 19:56
  • short n sweet ! – american-ninja-warrior Nov 26 '18 at 15:15
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

You can substitute kill9 for kill if necessary.

-1

I Tried with below command

ps -eaf | grep -i ruby| grep -iv 'grep'| awk '{print "kill -9" " " $2}'| sh
  • awk can grep as well as execute system commands, which would remove three of the pipeline commands – Jeff Schaller Nov 20 '18 at 17:57
  • I Added only awk method – Praveen Kumar BS Nov 20 '18 at 18:09
  • ps -eaf | grep -i ssh| awk '$(NF-2) !~/grep/{print "kill -9" " " $2}'| sh – Praveen Kumar BS Nov 20 '18 at 18:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.