Module: PS
- Defined in:
- lib/ps-ruby/ps-ruby.rb,
lib/ps-ruby/version.rb
Class Method Summary collapse
- .attrs ⇒ Object
- .find_processes(name) ⇒ Object
- .find_processes_by(attr_name, value) ⇒ Object
- .get_all_processes ⇒ Object
- .raw_aux ⇒ Object
- .simple_display(name = "", limit_process_name_len = 30) ⇒ Object
- .VERSION ⇒ Object
Class Method Details
.attrs ⇒ Object
70 71 72 73 74 |
# File 'lib/ps-ruby/ps-ruby.rb', line 70 def attrs # ["USER", "PID", "%CPU", "%MEM", "VSZ", "RSS", "TT", "STAT", "STARTED", "TIME", "COMMAND"] return @ps_attrs if @ps_attrs @ps_attrs = raw_aux.split("\n").map{|x| x.split(/\s+/) }.shift end |
.find_processes(name) ⇒ Object
62 63 64 |
# File 'lib/ps-ruby/ps-ruby.rb', line 62 def find_processes(name) find_processes_by("COMMAND", name) end |
.find_processes_by(attr_name, value) ⇒ Object
66 67 68 |
# File 'lib/ps-ruby/ps-ruby.rb', line 66 def find_processes_by(attr_name, value) get_all_processes.find_processes_by(attr_name, value) end |
.get_all_processes ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/ps-ruby/ps-ruby.rb', line 76 def get_all_processes table = raw_aux.split("\n").map{|x| x.split(/\s+/) } attrs = table.shift is_percent = ["%CPU", "%MEM"].map{|x| attrs.index(x) } table = table.reduce(PsProcessList.new) {|s, x| if x.size > attrs.size x = x[0..(attrs.size-2)] + [x[(attrs.size-1)..-1].join(" ")] end is_percent.each{|k| x[k] = x[k].to_f } s << PsProcess[attrs.zip(x)] } table end |
.raw_aux ⇒ Object
90 91 92 |
# File 'lib/ps-ruby/ps-ruby.rb', line 90 def raw_aux %x{ps aux} end |
.simple_display(name = "", limit_process_name_len = 30) ⇒ Object
58 59 60 |
# File 'lib/ps-ruby/ps-ruby.rb', line 58 def simple_display(name = "", limit_process_name_len=30) find_processes(name).simple_display(limit_process_name_len) end |
.VERSION ⇒ Object
4 5 6 |
# File 'lib/ps-ruby/version.rb', line 4 def VERSION "0.0.4" end |