我正在用
捕捉信号rescue Interrupt => e
但它始终打印:
^CShutting down!
有没有办法阻止默认的 CTRL + C 输出:
^C
有什么想法吗?
答案 0 :(得分:1)
某些终端支持stty -echoctl
禁用控制字符的回显:
`stty -echoctl`
begin
loop do
# ...
end
rescue Interrupt => e
puts 'shutting down'
end
如果以上操作不起作用,您可以将IO#echo=
设置为false
来禁用所有回显:
require 'io/console'
STDIN.echo = false
begin
loop do
# ...
end
rescue Interrupt => e
puts 'shutting down'
end