當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Ruby IO.close_on_exec =用法及代碼示例


本文簡要介紹ruby語言中 IO.close_on_exec = 的用法。

用法

close_on_exec = bool → true or false

設置 close-on-exec 標誌。

f = open("/dev/null")
f.close_on_exec = true
system("cat", "/proc/self/fd/#{f.fileno}") # cat: /proc/self/fd/3: No such file or directory
f.closed?                #=> false

自 Ruby 2.0.0 起,Ruby 默認設置所有文件說明符的 close-on-exec 標誌。所以不需要自己設置。此外,如果另一個線程使用fork() 和exec()(例如通過system() 方法),取消設置close-on-exec 標誌可能會導致文件說明符泄漏。如果您確實需要將文件說明符繼承到子進程,請使用spawn() 的參數,例如 fd=>fd。

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 IO.close_on_exec =。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。