Sha256: 3779a64fd41c399b8f63cf6549a06f15c1a4290d3e6e8488b98d672a6f113789

Contents?: true

Size: 670 Bytes

Versions: 2

Compression:

Stored size: 670 Bytes

Contents

module Freyr
  class ProcessInfoList
    def initialize
      ps = `ps aux`.chomp.split("\n")
      ps.shift
      
      @processes = {}
      ps.each do |proc|
        proc = proc.split(/\s+/)
        p = ProcessInfo.new
        p.user = proc.shift
        p.pid  = proc.shift
        p.cpu  = proc.shift
        p.mem  = proc.shift
        p.vsz  = proc.shift
        p.rss  = proc.shift
        p.tt   = proc.shift
        p.stat = proc.shift
        p.started = proc.shift
        p.time = proc.shift
        p.cmd  = proc.join(' ')
        
        @processes[p.pid.to_i] = p
      end
    end
    
    def [] pid
      @processes[pid.to_i]
    end
    
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
freyr-0.3.4 lib/freyr/process_info_list.rb
freyr-0.3.3 lib/freyr/process_info_list.rb