class Falcon::Supervisor::Statistics
def capture
def capture input, output = IO.pipe system(@ps, "--ppid", @ppid.to_s, "-o", COLUMNS, out: output, pgroup: true) output.close header, *lines = input.readlines.map(&:strip) keys = header.split(/\s+/).map(&:downcase) processes = lines.map do |line| keys.zip(line.split(/\s+/, keys.count)).to_h end return processes end
def initialize(pgid: Process.ppid, ps: PS)
def initialize(pgid: Process.ppid, ps: PS) @ppid = pgid @ps = ps end