重新链接匿名(未链接但打开)的文件

重新链接匿名(未链接但打开)的文件,第1张

重新链接匿名(未链接但打开)的文件

flink()
几年前提交了一个用于提议的Linux 系统调用的补丁,但是当Linus声明“在HELL中,没有其他重大入侵,我们无法安全地做到这一点”,这几乎结束了关于是否添加此问题的争论。

更新: 随着Linux 3.11的,现在可以创建具有不使用目录项文件

open()
与新的
O_TMPFILE
标志,并将其链接到文件系统一旦使用完全形成
linkat()
/proc/self/fd/
FD
AT_SYMlink_FOLLOW
标志。

open()
手册页上提供了以下示例:

    char path[PATH_MAX];    fd = open("/path/to/dir", O_TMPFILE | O_RDWR, S_IRUSR | S_IWUSR);        snprintf(path, PATH_MAX,  "/proc/self/fd/%d", fd);    linkat(AT_FDCWD, path, AT_FDCWD, "/path/for/file", AT_SYMlink_FOLLOW);

请注意,使用

linkat()
删除最后一个链接后,将不允许重新打开文件
unlink()



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4972780.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存