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