【问题标题】:Function fallocate() & splice() from FreeBSD来自 FreeBSD 的函数 fallocate() & splice()
【发布时间】:2013-07-23 03:48:53
【问题描述】:

我需要在大文件中间实现添加和删除块 - “打孔”我在 FreeBSD 下找不到模拟函数 fallocate()splice()

【问题讨论】:

  • 不幸的是,这些功能在 FreeBSD 中不存在,并且如手册页所述,它们只是 Linux 扩展。

标签: freebsd splice


【解决方案1】:

FreeBSD 从 8.3 开始就有posix_fallocate(2),但没有splice()

【讨论】:

    【解决方案2】:

    Roland 对 posix_fallocate() 的看法是正确的。顺便说一句,即使在 Linux 系统(RHEL-5.7)上我也找不到 fallocate(),所以即使在 Linux 上你也真的不想依赖它的存在。

    至于 splice(),看起来,没有。在 FreeBSD 上最接近的是 sendfile() —— 但仅当目标是 socket 时。

    【讨论】:

      猜你喜欢
      • 2022-01-26
      • 2012-12-31
      • 2021-04-23
      • 2014-11-10
      • 1970-01-01
      • 2016-06-29
      • 2014-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多