Skip to content

Instantly share code, notes, and snippets.

@danielsdeleo
Created April 24, 2014 18:34
Show Gist options
  • Save danielsdeleo/11264766 to your computer and use it in GitHub Desktop.
Save danielsdeleo/11264766 to your computer and use it in GitHub Desktop.
clean fds then exec, workaround https://bugs.ruby-lang.org/issues/8594
#!/usr/bin/env ruby
#
def clean_fds
# Don't clean $stdin, $stdout, $stderr, process_status_pipe.
3.upto(256) do |n|
begin
fd = File.for_fd(n)
fd.close if fd
rescue
end
end
end
clean_fds
exec(ARGV.join(" "))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment