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
語句塊不執行,爲什麼?