观察到有vn_xxx api对文件进行操作,例如vn_rdwr(...)。从网络搜索来看,似乎不建议使用 vn_rdwr(...) 。
几乎没有相同的查询:
- 此 vn_xxx API 是否在 Mac OS X 版本之间不兼容?
- 使用它不安全吗?有没有例子可以引用一下 vn_rdwr 是如何使用的?
- 除了将文件 I/O 委托(delegate)给守护进程之外,还有其他选择吗?
如果有人可以提供意见\建议那就太好了?
最佳答案
我相信 vn_rdwr()
是安全的并且保证兼容。
之所以不普遍推荐,是因为它的级别非常低。通过使用它,您可以有效地解决任何 FS 文件权限问题,避免调用通过 KAuth API 注册的回调(例如,聚光灯看不到此类更改)等。在大多数情况下,您应该在用户空间中执行 I/O(例如某些守护进程) .
只有当您确实有充分的理由这样做时才去 KExt 中的 I/O。如果您有,请使用vn_rdwr()
。
关于macos - 在 Mac 上使用 KEXT 进行文件 I/O,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10654495/