Perl:打开文件而不写入缓存

标签 perl file caching

我知道现代 *nix 操作系统允许打开文件,以便数据不会缓存在系统/磁盘写入缓存中,因此只有当数据以物理方式写入磁盘时,任何写入操作才会完成。

你能建议我如何在 Perl 中做到这一点吗?

操作系统是 AIX/Solaris。

最佳答案

使用 sysopen 函数并将 O_SYNC 作为标志之一。检查系统手册页中支持的标志(man 2 open)。我知道 Solaris 10 上有它,但不确定 AIX 上是否有。例如:

sysopen(FH, $path, O_SYNC | O_WRONLY | O_CREAT)

参见http://perldoc.perl.org/functions/sysopen.html了解更多信息。

关于Perl:打开文件而不写入缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4448628/

相关文章:

javascript - 使所有用户的 cookie 无效

linux - 带有 Spreadsheet-ParseXLSX-0.17 的 Perl 5.10?

Berkeley DB 中的 Perl 复杂数据结构

java - 有效地存储和查询字符串列表

javascript - Node js - 将数据写入 CSV 文件

c++ - 测量加载到 l1/l2 缓存中以供读取(包括预取)的行数?

java - 密码和用户名存储在 Apache Ignite 中的哪里?

perl - 将 perl6 语法转换为 perl5

perl - 使用 grep 和 perl 搜索和替换

java - 无法更改 Java 文件权限