タイムアウトしなくなった

今まで、思考エンジンのゲーム木が大きくなって考える時間が多くなりすぎたら、ブラウザだか、サーバーだか、rubyだかが勝手にタイムアウトとして、切ってたんだ。
しかし、先ほどのゲーム中タイムアウトしてくれなくなった。
仕方がないので、rubyで外部コマンドのタイムアウト処理をしようと思う。
んで、以下コード。

child.rb

#!/usr/bin/ruby 
#なかなか終わらない外部プログラム
sleep(1000000)
print "child ENDh\n"

parent.rb

#!/usr/bin/ruby 

IO.popen("ruby parent.rb"){ | io |
	ioA = select([io], [], [], 1) #第四引数はタイムアウト処理するまでの秒数

	#タイムアウトしたときはioA=nil, そうでないときはIOオブジェクトの二次元配列
	if ioA
		print ioA[0][0].read
	else
		print "timeout \n"
		exit
	end
}

print "parent END\n"

実はこれだと、exitが行われても、プロンプトが返ってこない。どうやら、子プロセスが終わってないからみたい。なんだろうゾンビプロセスとは言えない中途半端な子プロセスは。
さてどうしよう・・・