我知道现代* nix操作系统允许打开文件,因此数据不会缓存在系统/磁盘写入缓存中,因此任何写入操作只有在数据写入磁盘时才会完成。
你能建议我怎样才能在Perl中做到这一点?
操作系统是AIX / Solaris。
答案 0 :(得分:6)
将sysopen函数与O_SYNC一起用作其中一个标志。检查系统联机帮助页以获取支持的标志(man 2打开)。我知道它存在于Solaris 10上,不确定AIX。例如:
sysopen(FH, $path, O_SYNC | O_WRONLY | O_CREAT)