class Byebug::KillCommand

Send custom signals to the debugged program.

Public Class Methods

description() click to toggle source
# File lib/byebug/commands/kill.rb, line 15
    def self.description
      <<-DESCRIPTION
        kill[ signal]

        #{short_description}

        Equivalent of Process.kill(Process.pid)
      DESCRIPTION
    end
regexp() click to toggle source
# File lib/byebug/commands/kill.rb, line 11
def self.regexp
  /^\s* kill \s* (?:\s+(\S+))? \s*$/x
end
short_description() click to toggle source
# File lib/byebug/commands/kill.rb, line 25
def self.short_description
  "Sends a signal to the current process"
end

Public Instance Methods

execute() click to toggle source
# File lib/byebug/commands/kill.rb, line 29
def execute
  if @match[1]
    signame = @match[1]

    return errmsg("signal name #{signame} is not a signal I know about\n") unless Signal.list.member?(signame)
  else
    return unless confirm("Really kill? (y/n) ")

    signame = "KILL"
  end

  processor.interface.close if signame == "KILL"
  Process.kill(signame, Process.pid)
end