mirror of
https://github.com/github/rails.git
synced 2026-01-29 08:18:03 -05:00
Status in one line
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4299 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
@@ -5,7 +5,7 @@ if RUBY_PLATFORM =~ /mswin32/ then abort("Reaper is only for Unix") end
|
||||
OPTIONS = {
|
||||
:pid_path => File.expand_path(RAILS_ROOT + '/tmp/pids'),
|
||||
:pattern => "dispatch.*.pid",
|
||||
:ps => "ps -o user,start,etime,pcpu,vsz,majflt,command -p %s"
|
||||
:ps => "ps -o pid,state,user,start,time,pcpu,vsz,majflt,command -p %s"
|
||||
}
|
||||
|
||||
class Inspector
|
||||
@@ -18,17 +18,16 @@ class Inspector
|
||||
end
|
||||
|
||||
def inspect
|
||||
for process in find_processes
|
||||
puts "#{File.basename(process[:pid_file])}:"
|
||||
puts(`#{OPTIONS[:ps] % process[:pid]}`)
|
||||
puts
|
||||
end
|
||||
header = `#{OPTIONS[:ps] % 0}`.split("\n")[0] + "\n"
|
||||
lines = pids.collect { |pid| `#{OPTIONS[:ps] % pid}`.split("\n")[1] }
|
||||
|
||||
puts(header + lines.join("\n"))
|
||||
end
|
||||
|
||||
private
|
||||
def find_processes
|
||||
pid_files.inject([]) do |pids, pid_file|
|
||||
pids << { :pid_file => pid_file, :pid => File.read(pid_file).to_i }
|
||||
def pids
|
||||
pid_files.collect do |pid_file|
|
||||
File.read(pid_file).to_i
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user