module function Kernel.#at_exit

at_exit { ... } -> Proc[permalink][rdoc][edit]

与えられたブロックをインタプリタ終了時に実行します。

at_exitがメソッドである点を除けば、END ブロックによる終了処理の登録と同等です。登録した処理を取り消すことはできません。 終了処理も参照してください。

[RETURN]
登録した処理を Proc オブジェクトで返します。
3.times do |i|
  at_exit{puts "at_exit#{i}"}
end
END{puts "END"}
at_exit{puts "at_exit"}
puts "main_end"

#=> main_end
#   at_exit
#   END
#   at_exit2
#   at_exit1
#   at_exit0

[SEE_ALSO] 制御構造/END,Kernel.#exit!,Kernel.#fork