class Spring::Client::Stop

Constants

TIMEOUT

Public Class Methods

description() click to toggle source
# File lib/spring/client/stop.rb, line 8
def self.description
  "Stop all spring processes for this project."
end

Public Instance Methods

call() click to toggle source
# File lib/spring/client/stop.rb, line 12
def call
  if env.server_running?
    timeout = Time.now + TIMEOUT
    kill 'TERM'
    sleep 0.1 until !env.server_running? || Time.now >= timeout

    if env.server_running?
      $stderr.puts "Spring did not stop; killing forcibly."
      kill 'KILL'
    else
      puts "Spring stopped."
    end
  else
    puts "Spring is not running"
  end
end
kill(sig) click to toggle source
# File lib/spring/client/stop.rb, line 29
def kill(sig)
  pid = env.pid
  Process.kill(sig, pid) if pid
rescue Errno::ESRCH
  # already dead
end