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 14
def self.description
  <<-EOD
    kill[ signal]

    #{short_description}

    Equivalent of Process.kill(Process.pid)
  EOD
end
regexp() click to toggle source
# File lib/byebug/commands/kill.rb, line 10
def self.regexp
  /^\s* (?:kill) \s* (?:\s+(\S+))? \s*$/x
end
short_description() click to toggle source
# File lib/byebug/commands/kill.rb, line 24
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 28
def execute
  if @match[1]
    signame = @match[1]

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

    signame = 'KILL'
  end

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