From: ts Date: 2003-07-04T20:04:24+09:00 Subject: Re: Ruby, Threads and Processes >>>>> "G" == George Moschovitis writes: G> %x{ convert -scale '100x100>' -antialias #{src} #{dst} } When you use %x{}, ruby use a pipe you can see it svg% cat b.rb #!/usr/bin/ruby t = Thread.new do p "before" 12.times {|i| Thread.pass; p "after #{i}"; sleep 1 } p "after" end t1 = Thread.new do p "before sleep" p %x{a.sh 2} p "after sleep" end t.join t1.join svg% svg% cat a.sh #!/bin/sh sleep $1 echo "a.sh" svg% svg% b.rb "before" "before sleep" "after 0" "after 1" "after 2" "a.sh\n" "after sleep" "after 3" "after 4" "after 5" "after 6" "after 7" "after 8" "after 9" "after 10" "after 11" "after" svg% Guy Decoux