Hi all, I'm looking around MacRuby to find a way to run a subprocess and monitor it, here is what I tried:
NSTask: framework "foundation" task = NSTask.launchedTaskWithLaunchPath("/bin/ls", arguments:"-l") p task.isRunning p task.standardOutput => Segmentation fault Open4: require 'rubygems' require 'popen4' status = POpen4::popen4('irb') { |stdout,stderr,stdin,pid| stdin.puts "a = 1" stdin.puts "a == 1" stdin.close puts "pid: #{pid}" puts "stdout: #{stdout.read.strip}" puts "stderr: #{stderr.read.strip}" } puts "status: #{status.inspect}" puts "exitstatus: #{status.exitstatus}" => /Library/Frameworks/MacRuby.framework/Versions/0.7/usr/lib/ruby/Gems/1.9.2/gems/open4-1.0.1/lib/open4.rb:15:in `open4:': fork() function is unimplemented on this machine (NotImplementedError) from /Library/Frameworks/MacRuby.framework/Versions/0.7/usr/lib/ruby/Gems/1.9.2/gems/POpen4-0.1.4/lib/popen4.rb:75:in `popen4:' from /Users/lpperron/Documents/lllaptop/git_repos/Redis/testResque/testOpen4.rb:3:in `<main>' Open3: require 'open3' puts "starting..." Open3.popen3('irb') { |stdin,stdout,stderr| stdin.puts "a = 1" stdin.puts "a == 1" stdin.close puts "stdout: #{stdout.read.strip}" puts "stderr: #{stderr.read.strip}" } => starting... So... NSTask segfaults... Open4 cannot work because of unimplemented 'fork' in MacRuby and Open3 hangs? Anybody has an other solution to launch and monitor a subprocess? Thanks! L-P
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel