当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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 =。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。