我知道现代*nix操作系统允许打开文件,因此数据不会缓存在系统/磁盘写入缓存中,因此任何写入操作只有在数据写入磁盘时才会完成.
你能建议我怎样才能在Perl中做到这一点?
操作系统是AIX/Solaris.
使用带有O_SYNC的sysopen函数作为其中一个标志.检查系统联机帮助页以获取支持的标志(man 2打开).我知道它存在于Solaris 10上,不确定AIX.例如:
sysopen(FH, $path, O_SYNC | O_WRONLY | O_CREAT)
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参见http://perldoc.perl.org/functions/sysopen.html.
归档时间: |
|
查看次数: |
577 次 |
最近记录: |