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


Ruby Fcntl模塊用法及代碼示例

本文簡要介紹ruby語言中 Fcntl模塊 的用法。

Fcntl 加載係統的 C 頭文件中定義的常量,並與 fcntl(2) 和 open(2) POSIX 係統調用一起使用。

要執行 fcntl(2) 操作,請使用 IO::fcntl。

要執行 open(2) 操作,請使用 IO::sysopen

可用的操作和常量集取決於特定的操作係統。您的係統可能不支持下麵列出的某些值。

有關完整的詳細信息,請參見 fcntl(2) 手冊頁。

打開 /tmp/tempfile 作為 write-only 文件,如果它不存在則創建:

require 'fcntl'

fd = IO.sysopen('/tmp/tempfile',
                Fcntl::O_WRONLY | Fcntl::O_EXCL | Fcntl::O_CREAT)
f = IO.open(fd)
f.syswrite("TEMP DATA")
f.close

獲取文件 s 上的標誌:

m = s.fcntl(Fcntl::F_GETFL, 0)

Set 除了 m 中的現有標誌之外,f 上的非阻塞標誌。

f.fcntl(Fcntl::F_SETFL, Fcntl::O_NONBLOCK|m)

相關用法


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