Sha256: 1ddc2cfcb3d6d54b9eb05e110ab5ebd5882c0c6714adf23cbe107f826579dff5

Contents?: true

Size: 1.72 KB

Versions: 1

Compression:

Stored size: 1.72 KB

Contents

#!/usr/bin/env ruby
require 'optparse'

$LOAD_PATH << File.join(File.dirname(__FILE__), '..', 'lib')
require 'zombie_passenger_killer'

options = {}
version = ZombiePassengerKiller::VERSION
OptionParser.new do |opts|
  opts.banner = <<BANNER
Guaranteed zombie passengers death

Usage:
    zombie_passenger_killer [options]

Options:
BANNER
  opts.on("-m", "--max [SIZE]", Integer, "Max high CPU entries in history before killing (default: off)") {|i| options[:max]=i }
  opts.on("--history [SIZE]", Integer, "History size (default: 5)") {|i| options[:history]=i }
  opts.on("-c", "--cpu [PERCENT]", Integer, "Mark as high CPU when above PERCENT (default: 70)") {|i| options[:cpu]=i }
  opts.on("-g", "--grace [SECONDS]", Integer, "Wait SECONDS before hard-killing (-9) a process (default: 5)") {|i| options[:grace]=i }
  opts.on("-i", "--interval [SECONDS]", Integer, "Check every SECONDS (default: 10)") {|i| options[:interval]=i }
  opts.on("-p", "--pattern [PATTERN]", String, "Find processes with this pattern (default: ' Rack: ')") {|i| options[:pattern]=i }
  opts.on("-n", "--no-daemon","Do not start daemon. Check once and exit") {|i| options[:no_daemon]=i }
  opts.on("-r", "--rvm-sudo","Use `rvmsudo` to see passenger-status") {|i| options[:rvm_sudo]=i }
  opts.on("-h", "--help","Show this") { puts opts; exit }
  opts.on("-v", "--version","Show Version"){ puts version; exit }
  opts.on("-t", "--timing","Show timing on output") { options[:show_times]=true }
end.parse!

$stdout.sync = true
puts "PID: #{$$} Version: #{version} Started at #{Time.now}"

$0 = File.basename(__FILE__) + '-' + version
unless options[:no_daemon].nil?
  ZombiePassengerKiller::Reaper.new(options).hunt_zombies
else
  ZombiePassengerKiller::Reaper.new(options).lurk
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
balepc-zombie_passenger_killer-0.2.1.patched bin/zombie_passenger_killer