class Procs::ProcessInfo
Attributes
cmd[R]
pid[R]
ppid[R]
Public Class Methods
info(pid)
click to toggle source
# File lib/procs.rb, line 27 def ProcessInfo::info(pid) p,pp,c=`ps p #{pid} -o pid,ppid,cmd`.scan(/(\d+)\s+(\d+)\s+(.*)$/)[0] ProcessInfo.new p.to_i, pp.to_i, c end
new(pid, ppid, cmd)
click to toggle source
# File lib/procs.rb, line 8 def initialize(pid, ppid, cmd) @pid = pid.to_i @ppid = ppid.to_i @cmd = cmd.strip end
Public Instance Methods
childs()
click to toggle source
# File lib/procs.rb, line 32 def childs Procs::childs(self.pid) end
inspect()
click to toggle source
# File lib/procs.rb, line 43 def inspect '<Process: pid=%s, ppid=%s, cmd=%s>'%[self.pid, self.ppid, self.cmd] end
kill()
click to toggle source
# File lib/procs.rb, line 14 def kill Process::kill('KILL', self.pid) begin Process::wait(self.pid) rescue Errno::ECHILD => err end end
killtree()
click to toggle source
# File lib/procs.rb, line 22 def killtree self.childs.each{|c| c.killtree} self.kill end
to_i()
click to toggle source
# File lib/procs.rb, line 36 def to_i self.pid end
to_s()
click to toggle source
# File lib/procs.rb, line 40 def to_s '<Process: pid=%s, ppid=%s, cmd=%s>'%[self.pid, self.ppid, self.cmd] end