Issue #7358 has been reported by felipec (Felipe Contreras).

----------------------------------------
Bug #7358: Wrong fd redirection on fork
https://bugs.ruby-lang.org/issues/7358

Author: felipec (Felipe Contreras)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: 1.9.3p327


It seems fd redirecton only works with spawn, not with fork+exec (at least for fd 3).

% ruby -v
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-linux]

#!/usr/bin/env ruby

tmp = File.new('/tmp/foo', File::CREAT | File::WRONLY)
cmd = ['echo', 'yes']

pid = Process.spawn(*cmd, 3 => tmp)
Process.wait(pid)

pid = fork do
  Process.exec(*cmd, :close_others => true, 3 => tmp)
end
Process.wait(pid)


-- 
http://bugs.ruby-lang.org/