From: Okada Jun Date: 2001-04-05T00:08:46+09:00 Subject: [ruby-dev:12770] Re: trap & signal 岡田です。 >まつもと ゆきひろです > >|trap 'SIGTERM', 'EXIT' >|とすると、今度はkillを二回発行しないとスクリプトが終了してくれません。 > >の方ですが、ruby 1.6.3 (2001-03-28) [i386-linux] では1回で >済むようです。手元に1.6.2がもうないのですが、もう直してるの >かもしれません。 こちらは了解です。 その内新しいバージョンで試してみます。 >次に > >|trap 'SIGTERM' do p 'signal' end > ><中略> > >|killされるとそれをtrapして終了はせずにメッセージだけ表示させたいわけですが、 >|メッセージを表示した後にそのままスクリプトが終了してしまいます。 > >シグナルハンドラが設定されていてもシグナルが来るとsleepが中 >断されるのは仕様のつもりです。sleep(3)を参照してください。 こちらも仕様という事ならば了解です。 ですが、先のスクリプトでスレッドを使わない(スレッドのブロックをコメントアウト)で 同じ事をすると、今度は何度signalを送ってもsleepは解除されません。今度はこちらが 仕様と異なる動作なのでは無いでしょうか? -- ゆん(岡田 潤) yun@nekome.net http://www.nekome.net/