5 $
:.unshift File
.join(File
.dirname(__FILE__
), *%w
[.. lib
])
12 options
= {:daemonize => true, :port => 17165}
14 opts
= OptionParser
.new
do |opts
|
18 god [-c <config file>] [-p <port> | -b] [-P <file>] [-l <file>] [-D]
21 god <command> <argument> [-p <port>]
22 god <command> [-p <port>]
24 god -V (must be run as root to be accurate on Linux)
27 start <task or group name> start task or group
28 restart <task or group name> restart task or group
29 stop <task or group name> stop task or group
30 monitor <task or group name> monitor task or group
31 unmonitor <task or group name> unmonitor task or group
32 load <file> load a config into a running god
33 log <task name> show realtime log for given task
34 status show status of each task
36 terminate stop god and all tasks
37 check run self diagnostic
42 opts
.on("-cCONFIG", "--config-file CONFIG", "Configuration file") do |x
|
46 opts
.on("-pPORT", "--port PORT", "Communications port (default 17165)") do |x
|
50 opts
.on("-b", "--auto-bind", "Auto-bind to an unused port number") do
54 opts
.on("-PFILE", "--pid FILE", "Where to write the PID file") do |x
|
58 opts
.on("-lFILE", "--log FILE", "Where to write the log file") do |x
|
62 opts
.on("-D", "--no-daemonize", "Don't daemonize") do
63 options
[:daemonize] = false
66 opts
.on("-v", "--version", "Print the version number and exit") do
67 options
[:version] = true
70 opts
.on("-V", "Print extended version and build information") do
77 if !options
[:config] && options
[:version]
79 God
::CLI::Version.version
80 elsif !options
[:config] && options
[:info]
82 God
::CLI::Version.version_extended
83 elsif !options
[:config] && command
= ARGV[0]
85 God
::CLI::Command.new(command
, options
, ARGV)
88 God
::CLI::Run.new(options
)
91 if e
.instance_of
?(SystemExit
)
94 puts
'Uncaught exception'
96 puts e
.backtrace
.join("\n")