Method: Bluepill::Group#status

Defined in:
lib/bluepill/group.rb

#status(process_name = nil) ⇒ Object



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/bluepill/group.rb', line 47

def status(process_name = nil)
  lines = []
  if process_name.nil?
    prefix = self.name ? "  " : ""
    lines << "#{self.name}:" if self.name

    self.processes.each do |process|
      lines << "%s%s(pid:%s): %s" % [prefix, process.name, process.actual_pid, process.state]
      if process.monitor_children?
        process.children.each do |child|
          lines << "  %s%s: %s" % [prefix, child.name, child.state]
        end
      end
    end
  else
    self.processes.each do |process|
      next if process_name != process.name
      lines << "%s%s(pid:%s): %s" % [prefix, process.name, process.actual_pid, process.state]
      lines << process.statistics.to_s
    end
  end
  lines << ""
end