例如,该方法依赖于fsync或fork系统调用可能会引发这种异常,如果底层操作系统或Ruby运行不支持他们。 请注意,如果fork提出NotImplementedError,则respond_to?
在返回命令调用fsync(2)之前,为了确保配置在计算机磁盘上被刷新。 该命令主要用于nodes.conf节点状态文件由于某种原因丢失/删除的情况,我们希望从头开始再次生成它。
SQLite的缺省构建包含适当的VFS对象,以便与底层操作系统进行交谈,这些VFS对象将包含诸如open(),read(),write(),fsync()等操作系统调用。
打开同步后,SQLite执行一个fsync()系统调用(或等价)来确定关键数据实际上已写入磁盘驱动器表面。如果在数据库更新过程中操作系统崩溃或计算机意外关闭,则同步对于确保数据库的完整性是必要的。
第一个选择是正常的fsync()。第二个选择是MacOSX风格的fullsync。SQLITE_SYNC_DATAONLY标志可能已经或者进入以指示只有文件的数据而不是它的inode需要被同步。
出于这个原因,SQLite在关键点执行“flush”或“fsync”操作。SQLite假定刷新或fsync不会返回,直到正在刷新的文件的所有挂起写入操作都已完成。
fs.fsync(fd,callback) 异步函数fsync(2)。回调函数只有一个参数:可能出现的异常. fs.fsyncSync(fd) 同步fsync(2)。返回undefined。

扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2026 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059
粤公网安备44030502008569号
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号
