繁体   English   中英

手动获取有关Linux文件描述符表的信息

[英]Manually obtaining information about Linux File Descriptor Table

如何获取与任何打开的文件描述符关联的文件描述符表中的文件描述符标志'fd标志'? 我想知道手动编写代码,或者至少在不使用fcntl函数或查看/ proc条目的同时至少要研究哪些函数和结构。

下图显示了给定进程的文件描述符表具有标志字段和文件指针字段。 如何以编程方式访问这些字段?

在此处输入图片说明

您可以访问/proc/PID/fdinfo/FD文件,其中包含以八进制表示的flags

$ cat /proc/$$/fdinfo/0
pos:    0
flags:  0100002
mnt_id: 20

在此示例中, 0100002 = O_LARGFILE|O_RDWR

fcntl()是系统调用,而不是“库”。 检索与文件描述符关联的标志的方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM