1
我想捕获发送到Ruby进程的信号。如何在Ruby进程中捕获信号
过程是以下文件,名为wait.rb:
sleep 60
Signal.trap(15) {
puts "caught signal 15!"
}
我跑wait.rb,而在另一个bash shell中找到wait.rb的PID并执行:
kill -15 pid
我预计“抓到信号15!”将被打印在我执行wait.rb的第一个shell中,但事实并非如此。相反,我得到这样的输出:
Terminated: 15
在Signal.trap
的puts
语句块不执行,为什么?