![Zombies on a train](http://dl.dropbox.com/u/2670385/Web/zombie.jpeg) Guaranteed zombie passengers death. - passenger process no longer listed in passenger-status ? => Death - high CPU load over long period (Optional) ? => Death strace of killed zombies is printed, so debugging is easier. (god/bluepill are not suited to monitor passenger apps because of ever-changing pids) Add passenger-status to `/etc/sudoers` or run with sudo. Install ======= sudo gem install zombie_passenger_killer Usage ===== zombie_passenger_killer [options] Options: -m, --max [SIZE] Max high CPU entries in history before killing (default: off) --history [SIZE] History size (default: 5) -c, --cpu [PERCENT] Mark as high CPU when above PERCENT (default: 70) -g, --grace [SECONDS] Wait SECONDS before hard-killing (-9) a process (default: 5) -i, --interval [SECONDS] Check every SECONDS (default: 10) -p, --pattern [PATTERN] Find processes with this pattern (default: ' Rack: ') -h, --help Show this. -v, --version Show Version ### Bluepill script app.process("zombie_passenger_killer") do |process| process.start_command = "zombie_passenger_killer --max 5 --history 10 --cpu 30 --interval 10" process.stdout = process.stderr = "/var/log/autorotate/zombie_passenger_killer.log" process.pid_file = "/var/run/zombie_passenger_killer.pid" process.daemonize = true end ### God script # TODO Author ====== ###Contributors - [Roman Heinrich](https://github.com/mindreframer) - [Kevin Mullin](https://github.com/kmullin) [Michael Grosser](http://grosser.it)
michael@grosser.it
Hereby placed under public domain, do what you want, just do not hold me accountable...