fork() is not implemented in MacRuby, and I don't think it will be implemented anytime in the near future because of conflicts with the CoreFoundation framework and the Garbage Collector (as I understand it).
The same is true for Objective-C applications. NSTask is definitely the way to go, but you shouldn't experience a segmentation fault. Looks like a bug. Perhaps try macruby-nightly, and if it isn't fixed, open a ticket? On 3 Nov 2010, at 14:31, Louis-Philippe wrote: > 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 _______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel