Я использую Ruby 1.8.7 patchlevel 302 и работаю в системе Windows XP.Я должен запустить внешний процесс, который должен реагировать на ввод пользователя.Процесс не реагирует, если я использую потоки, поэтому я попытался использовать fork.С помощью fork внешний процесс реагирует на пользовательский ввод, но он выполняет больше, чем просто блок fork.Например,
fork do
puts 'child'
end
puts 'parent'
Process.wait
puts 'done'
выдает на моем аппарате следующий вывод:
parent
child
parent
done
done
Как видно, «готово» и «родитель» напечатаны дважды.Что я могу сделать, чтобы ребенок выполнял только свой блок и не более?(Я не могу переключиться на Ruby 1.9 из-за некоторых драгоценных камней)