シグナル処理
Signal.trapでシグナルを受信した際の動作を設定できます。
#!/usr/bin/ruby Signal.trap(:TERM){puts ":TERM"} Signal.trap(:HUP){puts ":HUP"} Signal.trap(:INT){puts ":INT"; exit(0)} puts "PID: #{Process.pid}" loop{ print "test " STDOUT.flush sleep 3 }
INT(Ctrl+C)を送信したときのみプログラムが終了します。
$ kill -TERM PID $ kill -HUP PID $ kill -INT PID