如何在c程序中使用libprocps获取打开的文件描述符/句柄

卡迈勒

我正在尝试为我的 IOT 设备创建性能显示。该设备使用 Linux,所以我想使用 C 程序以编程方式获取文件句柄的数量。目前我正在使用 libprocps API 来获取所有其他数据。现在我想获取整个 IOT 设备的打开文件描述符/句柄。

ls /proc/[pid]/fd |wc -l 给出文件的数量。但是我需要从 C 程序中的任何 API 获取这些数据。哪个变量在 proc 中保存 fdinfo

斯蒂芬·基特

您无法从 获取此信息libprocps,但可以通过计算目录中的链接数(这相当于您的ls /proc/[pid]/fd | wc -l命令)来获取每个进程的信息

#include <dirent.h>

...

int fds = 0;
DIR * dirp;
struct dirent * entry;

dirp = opendir("/proc/.../fd"); /* You need to build the path */
while ((entry = readdir(dirp)) != NULL) {
    if (entry->d_type == DT_LNK) {
         fds++;
    }
}
closedir(dirp);

您需要在上面添加错误处理。

如果要获取分配的文件句柄总数,请查看/proc/sys/fs/file-nr:第一个数字是分配的文件句柄数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在多个子进程中使用文件描述符的文件指针,而又不会在C中出现“错误的文件描述符”错误?

来自分类Dev

如何从 Dart 程序打开文件描述符 (3)

来自分类Dev

文件描述符和文件句柄(和C)

来自分类Dev

execvp后如何在子进程中使用文件描述符?

来自分类Dev

如何在Shell管道中使用其他文件描述符?

来自分类Dev

如何使用 Swift 获取 DispatchIO 的文件描述符?

来自分类Dev

如何在C中返回文件描述符

来自分类常见问题

如何使用文件描述符在C中删除文件?

来自分类Dev

获取OS X中打开的文件(描述符)列表

来自分类Dev

获取OS X中打开的文件(描述符)列表

来自分类Dev

如何在我当前的bash会话中列出打开的文件描述符(及其引用的文件)

来自分类Dev

在同一端口上重新打开连接会导致错误的文件描述符句柄

来自分类Dev

打开文件描述符如何影响内存

来自分类Dev

C文件描述符在打开时返回-1

来自分类Dev

Linux实现打开文件描述符C

来自分类Dev

如何显示打开的文件描述符,但不使用lsof命令

来自分类Dev

如何在C / C ++中“使用write()系统调用从页面读取(写入虚拟管道()文件描述符)”?

来自分类Dev

如何在OS X上从std :: basic_ios获取clang的文件描述符?

来自分类Dev

如何在libuv中获取可接受的tcp套接字的文件描述符?

来自分类Dev

Maven:如何从程序集描述符中使用POM元素

来自分类Dev

打开变量指定的文件描述符

来自分类Dev

如果知道进程打开的文件的文件描述符,如何在linux命令上打印文件名?

来自分类Dev

如何在Bash中写入命名文件描述符?

来自分类Dev

如何在python中关闭文件描述符?

来自分类Dev

使用C中的文件描述符计算文件的行数

来自分类Dev

如何在Perl中捕获ctrl + c并关闭文件描述符

来自分类Dev

如何使用WebUSB获取设备描述符?

来自分类Dev

无法从pyhandle获取文件描述符

来自分类Dev

从文件中获取描述符

Related 相关文章

  1. 1

    如何在多个子进程中使用文件描述符的文件指针,而又不会在C中出现“错误的文件描述符”错误?

  2. 2

    如何从 Dart 程序打开文件描述符 (3)

  3. 3

    文件描述符和文件句柄(和C)

  4. 4

    execvp后如何在子进程中使用文件描述符?

  5. 5

    如何在Shell管道中使用其他文件描述符?

  6. 6

    如何使用 Swift 获取 DispatchIO 的文件描述符?

  7. 7

    如何在C中返回文件描述符

  8. 8

    如何使用文件描述符在C中删除文件?

  9. 9

    获取OS X中打开的文件(描述符)列表

  10. 10

    获取OS X中打开的文件(描述符)列表

  11. 11

    如何在我当前的bash会话中列出打开的文件描述符(及其引用的文件)

  12. 12

    在同一端口上重新打开连接会导致错误的文件描述符句柄

  13. 13

    打开文件描述符如何影响内存

  14. 14

    C文件描述符在打开时返回-1

  15. 15

    Linux实现打开文件描述符C

  16. 16

    如何显示打开的文件描述符,但不使用lsof命令

  17. 17

    如何在C / C ++中“使用write()系统调用从页面读取(写入虚拟管道()文件描述符)”?

  18. 18

    如何在OS X上从std :: basic_ios获取clang的文件描述符?

  19. 19

    如何在libuv中获取可接受的tcp套接字的文件描述符?

  20. 20

    Maven:如何从程序集描述符中使用POM元素

  21. 21

    打开变量指定的文件描述符

  22. 22

    如果知道进程打开的文件的文件描述符,如何在linux命令上打印文件名?

  23. 23

    如何在Bash中写入命名文件描述符?

  24. 24

    如何在python中关闭文件描述符?

  25. 25

    使用C中的文件描述符计算文件的行数

  26. 26

    如何在Perl中捕获ctrl + c并关闭文件描述符

  27. 27

    如何使用WebUSB获取设备描述符?

  28. 28

    无法从pyhandle获取文件描述符

  29. 29

    从文件中获取描述符

热门标签

归档