# File lib/eventmachine.rb, line 1161
1161:   def self.popen cmd, handler=nil, *args
1162:     klass = klass_from_handler(Connection, handler, *args)
1163:     w = Shellwords::shellwords( cmd )
1164:     w.unshift( w.first ) if w.first
1165:     s = invoke_popen( w )
1166:     c = klass.new s, *args
1167:     @conns[s] = c
1168:     yield(c) if block_given?
1169:     c
1170:   end