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."