Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何在特定时间打印内存中的所有共享对象?_C_Linux_Dll_Shared Libraries - Fatal编程技术网

C 如何在特定时间打印内存中的所有共享对象?

C 如何在特定时间打印内存中的所有共享对象?,c,linux,dll,shared-libraries,C,Linux,Dll,Shared Libraries,在Linux系统中,在特定时间有许多进程在运行,每个进程都依赖于一些动态库(共享对象)。这可以通过ldd命令找到。进程运行时,共享对象必须在内存中。同样,Linux系统中不同运行进程的内存中也会加载许多共享对象 有没有办法列出所有这些共享对象?它能用C语言编写吗?列出当前加载到内存中的所有共享对象是否可行?详细说明skwllsp的评论: grep '\.so' /proc/*/maps | sort -k6 | uniq -f5 grep'\.so'/proc/*/maps | sort-k6

在Linux系统中,在特定时间有许多进程在运行,每个进程都依赖于一些动态库(共享对象)。这可以通过ldd命令找到。进程运行时,共享对象必须在内存中。同样,Linux系统中不同运行进程的内存中也会加载许多共享对象


有没有办法列出所有这些共享对象?它能用C语言编写吗?列出当前加载到内存中的所有共享对象是否可行?

详细说明skwllsp的评论:

grep '\.so' /proc/*/maps | sort -k6 | uniq -f5 grep'\.so'/proc/*/maps | sort-k6 | uniq-f5
从C中,您可以使用此命令字符串调用
system()
popen()

从进程内部编程(这是Linux GNU glibc特有的),您可以使用;手册页中的示例正在执行您想要的操作。

列出当前加载到内存中的所有共享对象是否可行?
遍历/proc/中的所有地图文件并创建您需要的列表。