Synchronization - mosop/run GitHub Wiki

Commands are run asynchronously in forked processes. So, for example, the following code is wrong.

process = Run::Command.new("sleep", %w(100)).run
# no wait
puts "100 seconds elapsed."

To synchronize with running processes, use the process object's #wait method.

process = Run::Command.new("sleep", %w(100)).run
process.wait
puts "100 seconds elapsed."