0
下面的代碼在Ruby 1.9.3中工作正常,但拋出了一個Bad file descriptor
異常與Ruby 2.1.1(即使close_on_exec
設置爲false)。exec()用ruby拋出Errno :: EBADF 2.1.1
#!/usr/bin/env ruby
if ARGV.empty?
f = open("/dev/null")
f.close_on_exec = false if respond_to?(:close_on_exec=)
else
f = IO.for_fd(ARGV[0].to_i)
exit
end
exec "./client.rb", f.fileno.to_s
輸出:
./client.rb:7:in `for_fd': Bad file descriptor (Errno::EBADF)
from ./client.rb:7:in `<main>'
有別的,除了close_on_exec
,改變了我的思念?
你傳遞給腳本的參數是什麼 – bjhaid
文件描述符 –