gpt4 book ai didi

linux:通过 procfs 确定文件句柄标识

转载 作者:IT王子 更新时间:2023-10-29 00:39:02 27 4
gpt4 key购买 nike

我正在尝试确定是否可以使用 procfs 中的元数据来区分同一文件上的两个单独句柄,以及具有指向它的两个文件描述符的单个句柄。

案例 1:两个文件句柄

# setup
exec 3>test.lck
exec 4>test.lck
# usage
flock -x 3 # this grabs an exclusive lock
flock -s 4 # this blocks
echo "This code is never reached"

案例2:一个句柄,两个FD

# setup
exec 3>test.lck
exec 4>&3
# usage
flock -x 3 # this grabs an exclusive lock
flock -s 4 # this converts that lock to a shared lock
echo "This code gets run"

如果我在“设置”阶段完成后和“使用”阶段之前从用户空间检查系统状态,并且我想区分这两种情况,是否有必要的元数据可用?如果不是,暴露它的最佳方法是什么? (将内核空间指针添加到 /proc/*/fdinfo 是否是一个合理的操作,上游可能会接受它作为补丁?)

最佳答案

我不知道有什么在 proc 中按原样公开它。在调试一些废话时弄清楚这一点可能很有用,但随后您可以使用内核调试器或 systemtap 脚本检查状态。

从你的问题来看,你似乎想以一种可以轻松编写脚本的方式实现这一点,在这里我不得不问真正的问题是什么。

我不知道 Linux 用户是否有兴趣公开这个。一个问题是暴露指向文件的指针会增加另一个信息泄漏,因此将来可能会被堵塞。其他方法需要对所有文件对象进行编号,而这不会发生。无论如何,您将被要求以与我在上面询问您的方式类似的方式提供理由。

关于linux:通过 procfs 确定文件句柄标识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35526538/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com