久保田です。 From: nobu.nakada / nifty.ne.jp Subject: [ruby-list:36844] Re: ruby 1.8.0 (server lock?) Date: Thu, 26 Dec 2002 20:48:47 +0900 > なかだです。 どうも、回答ありがとうございます。 > 1.7以降では、forkしたスレッド以外はその時点で終了します。 この文章の意味が理解できなかったのですが、一応いろいろ実験し て以下のようなことだろうと解釈しました。 プロセスとスレッドの言葉の意味は、とりあえず、forkした場合に できるのはプロセス、Thread.startの場合はスレッドだと思ってい ます。 プロセスの一番上になる親スレッドが終了した場合、そのプロセス に属するスレッドはすべてその時点で終了する。 > プロセ > スをバックグラウンドで走らせたいなら、先に fork && exit する必 > 要があります。 プログラムを下記のように変更して、無事動きました。exitはruby のコマンドかと思ったのですが、普通のプロセスの終了のことなん ですな。 require "socket" fork { Thread.start do gsock = TCPServer.open(8080) socket = gsock.accept socket.puts("Hello, world") socket.close() end sleep } それでは。 ---------------------------------------------- 久保田俊也 E-mail:em6t-kbt / asahi-net.or.jp http://www.asahi-net.or.jp/~em6t-kbt/