跨平台从文件句柄重新打开文件的可行方案咨询
从已持有的已删除文件句柄创建独立偏移量新句柄的方案整理
假设你持有一个文件句柄,希望基于它打开一个新的文件句柄——你可能需要为新句柄设置不同的访问权限,或者让两个句柄拥有独立的文件偏移量。但由于目标文件已被解除链接,无法通过文件路径重新打开,只能通过当前持有的句柄进行操作。
无效方法(仅创建共享文件偏移量的新句柄)
DuplicateHandle(Win32)dupfcntl+F_DUPFD
各平台可用方案
Windows
ReOpenFile(自Vista系统起可用)
Linux
open+/proc/self/fd/路径
FreeBSD
open+/dev/fd(仅当fdescfs以nodup选项挂载时可用)openat+O_EMPTY_PATH
OS X
- 无可用方案
内容的提问来源于stack exchange,提问作者Chris_F
相关产品推荐
相关产品推荐

