如何以编程方式确定“写入”系统调用对特定文件是否是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
系列函数来获得一些耐久性保证。