如何以编程方式确定“写入”系统调用对特定文件是否是primefaces的?

在某些情况下,编码器不能依赖primefaces的系统调用,例如,如果文件在NFS文件系统上。 (参见NFS概述,常见问题和HOWTO文档 )。 但是大多数数据库工作最终都需要primefaces系统调用。 (cf 数据库系统的primefaces性 )。

是否有一种标准(和OS独立)方式确认写入(和其他系统调用)在C(或python)中的特定FILE上是primefaces的。

有什么建议?

后续说明:管道的primefaces性将在下面讨论:

  • unix管道多个编写器
  • 如果同时通过2个不同的进程在同一文件上调用写入系统调用会发生什么

请特别注意“man”页面提取专门处理O_APPEND:

如果设置了文件状态标志的O_APPEND标志,则应在每次写入之前将文件偏移设置为文件的末尾,并且在改变文件偏移和写入操作之间不应进行中间文件修改操作。

POSIX中定义的write调用根本没有primefaces性保证。 所以你不需要确认任何东西,它不是primefaces的。

如果成功完成,它甚至不能保证数据到达硬盘驱动器(如果有驱动器)。 成功读回数据也不能给你任何保证。

您需要使用sync系列函数来获得一些耐久性保证。