Я ищу решение для кода порождения, определенного в блоке или Proc в отдельном процессе. Что-то вродеКак запустить код в отдельном процессе?
p = Proc.new do
File.open('newproc.log', 'w') {
|fw|
10.times do
fw.puts Time.now
sleep 1
end
}
end
# spawn p in a separate process here
# original code continues
Нет процесс разветвления, ни резьба, не сохранение во внешнем файле. Просто выполнение блока в автономном процессе.
Любая идея?
Обновление: Я должен добавить блок, не зависит от того, что определено в вызывающем процессе.
Почему нет разветвление? –
@SergioTulentsev Поскольку оригинальный процесс является «жирным», т.е. занимает много памяти, а forking дублирует вещи. –
Почему бы не поместить его в другой скрипт и назвать это вместо этого? – squiguy