Ruby/Tk does NOT support forking the process on which Tk interpreter is running (unless NEVER control Tk interpreter under the forked child process). In the library 'tk.rb', a Tk interpreter is initialized. Therefore, if you want running Tk under a child process, please call "require 'tk'" in the child process. For example, the following sample1 will NOT work, and sample2 will work properly. ------------------------------------------ require 'tk' ## init Tk interpreter under parent process exit! if fork ## exit parent process ## child process TkButton.new(:text=>'QUIT', :command=>proc{exit}).pack Tk.mainloop ------------------------------------------------------------- ----------------------------------------- exit! if fork ## exit main process ## child process require 'tk' ## init Tk interpreter under child process TkButton.new(:text=>'QUIT', :command=>proc{exit}).pack Tk.mainloop ------------------------------------------------------------- 2004/04/20 Hidetoshi NAGAI