class PsProcessList

Public Instance Methods

find_processes(name) click to toggle source
# File lib/ps-ruby/ps-ruby.rb, line 37
def find_processes(name)
  find_processes_by("COMMAND", name)
end
find_processes_by(attr_name, value) click to toggle source
# File lib/ps-ruby/ps-ruby.rb, line 41
def find_processes_by(attr_name, value)
  regex = if value.class != Regexp then Regexp.new(".*#{value}.*", Regexp::IGNORECASE) else value end
  PsProcessList.new(self.select{|x| x[attr_name] =~ regex })
end
kill!() click to toggle source
# File lib/ps-ruby/ps-ruby.rb, line 14
def kill!
  self.each(&:kill!)
end
pick_attr(attr_name) click to toggle source
# File lib/ps-ruby/ps-ruby.rb, line 46
def pick_attr(attr_name)
  self.map{|x| x[attr_name] } if PS.attrs.include?(attr_name)
end
simple_display(limit_process_name_len=30) click to toggle source
# File lib/ps-ruby/ps-ruby.rb, line 18
def simple_display(limit_process_name_len=30)
  picks = ["PID", "%CPU", "%MEM", "COMMAND"]
  if self.size > 0
    puts picks.join("\t")+"\n"
    self.each{|x|
      puts picks.reduce(""){|s, k| 
        s += if k == "COMMAND" and x[k].size > limit_process_name_len then 
          "#{x[k][0..limit_process_name_len]}...\t" 
        else 
          "#{x[k]}\t" 
        end 
      }
    }
  else
    puts "Not found any process called `#{name}`"
  end
  nil
end