Methods
Public Class methods
[ show source ]
# File lib/phusion_passenger/standalone/stop_command.rb, line 29 29: def self.description 30: return "Stop a running Phusion Passenger Standalone instance." 31: end
Public Instance methods
[ show source ]
# File lib/phusion_passenger/standalone/stop_command.rb, line 33 33: def run 34: parse_options!("stop") do |opts| 35: opts.on("-p", "--port NUMBER", Integer, 36: wrap_desc("The port number of a Phusion Passenger Standalone instance (default: #{@options[:port]})")) do |value| 37: @options[:port] = value 38: end 39: opts.on("--pid-file FILE", String, 40: wrap_desc("PID file of a running Phusion Passenger Standalone instance.")) do |value| 41: @options[:pid_file] = value 42: end 43: end 44: 45: determine_various_resource_locations(false) 46: create_nginx_controller 47: begin 48: running = @nginx.running? 49: rescue SystemCallError, IOError 50: running = false 51: end 52: if running 53: @nginx.stop 54: else 55: STDERR.puts "According to the PID file '#{@options[:pid_file]}', " << 56: "Phusion Passenger Standalone doesn't seem to be running." 57: STDERR.puts 58: STDERR.puts "If you know that Phusion Passenger Standalone *is* running then one of these" 59: STDERR.puts "might be the cause of this error:" 60: STDERR.puts 61: STDERR.puts " * The Phusion Passenger Standalone instance that you want to stop isn't running on" 62: STDERR.puts " port #{@options[:port]}, but on another port. If this is the case then you should" 63: STDERR.puts " specify the right port with --port." 64: STDERR.puts " If the instance is listening on a Unix socket file instead of a TCP port," 65: STDERR.puts " then please specify the PID file's filename with --pid-file." 66: STDERR.puts " * The instance that you want to stop has stored its PID file in a non-standard" 67: STDERR.puts " location. In this case please specify the right PID file with --pid-file." 68: exit 1 69: end 70: end