Class: Byebug::KillCommand
Overview
Implements byebug “kill” command
Constant Summary
Constants inherited
from Command
Command::DEF_OPTIONS
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Command
command_exists?, commands, find, format_subcmd, format_subcmds, help, inherited, #initialize, load_commands, #match, method_missing, options, register_setting_get, register_setting_set, register_setting_var, settings, settings_map, terminal_width
Class Method Details
.description ⇒ Object
40
41
42
43
44
45
|
# File 'lib/byebug/commands/kill.rb', line 40
def description
%{kill[ SIGNAL]
Send [signal] to Process.pid
Equivalent of Process.kill(Process.pid)}
end
|
.names ⇒ Object
36
37
38
|
# File 'lib/byebug/commands/kill.rb', line 36
def names
%w(kill)
end
|
Instance Method Details
#execute ⇒ Object
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/byebug/commands/kill.rb', line 15
def execute
if @match[1]
signame = @match[1]
unless Signal.list.member?(signame)
errmsg("signal name #{signame} is not a signal I know about\n")
return false
end
if 'KILL' == signame
@state.interface.finalize
end
else
if not confirm("Really kill? (y/n) ")
return
else
signame = 'KILL'
end
end
Process.kill(signame, Process.pid)
end
|
#regexp ⇒ Object
7
8
9
10
11
12
13
|
# File 'lib/byebug/commands/kill.rb', line 7
def regexp
/ ^\s*
(?:kill) \s*
(?:\s+(\S+))?\s*
$
/ix
end
|