How to gracefully kill IRB


leaving aside our RubyGUI debate for while, I have a question about IRB.

The script i have currently in dev. ends with this:
When I close the GUI (an action calling "Tk::exit; exit(0)" ) , the
shell invoking the script
remains in an inconsistent state, i type and i get nothing printed into
it. I must kill it.
(i am running the thing in FreeBSD, lanunching my script from a Konsole)

Is there a way i can terminate IRB REPL
without doing Ctrl-d or Ctrl-d from the REPL itself, without loosing the
invoking shell ?