From: "kosaki (Motohiro KOSAKI)" Date: 2013-02-26T03:38:48+09:00 Subject: [ruby-core:52887] [ruby-trunk - Bug #7951] Cannot rescue SignalException in 1.9.3 or 2.0.0 Issue #7951 has been updated by kosaki (Motohiro KOSAKI). Following modified script works fine. That is a issue of YARV signal handling. puts "#{RUBY_VERSION}p#{RUBY_PATCHLEVEL}" begin Process.kill('HUP',Process.pid) sleep 0.1 rescue SignalException => e puts "received Exception #{e}" end ---------------------------------------- Bug #7951: Cannot rescue SignalException in 1.9.3 or 2.0.0 https://bugs.ruby-lang.org/issues/7951#change-37000 Author: jamesotron (James Harton) Status: Open Priority: Normal Assignee: Category: Target version: 2.0.0 ruby -v: ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12.2.1] When running the example provided on http://www.ruby-doc.org/core-1.9.3/SignalException.html we find that neither Ruby 1.9.3p392 nor Ruby 2.0.0p0 are able to rescue SignalException: $ cat <signal_exception_test.rb puts "#{RUBY_VERSION}p#{RUBY_PATCHLEVEL}" begin Process.kill('HUP',Process.pid) rescue SignalException => e puts "received Exception #{e}" end EOF $ rvm 1.8.7,1.9.3,2.0.0 do ruby signal_exception_test.rb 1.8.7p371 received Exception SIGHUP 1.9.3p392 /Users/jnh/.rvm/scripts/set: line 20: 99759 Hangup: 1 "${args[@]}" 2.0.0p0 /Users/jnh/.rvm/scripts/set: line 20: 99816 Hangup: 1 "${args[@]}" -- http://bugs.ruby-lang.org/