LINUX.ORG.RU

/proc/PROC-ID/maps man proc

anonymous
()

Для своего процесса например так:
#include <dlfcn.h>
#include <link.h>

extern struct link_map * _dl_loaded;

main (int argc, char *argv) {
struct link_map * l;

for (l = _dl_loaded; l; l = l->l_next)
printf ("%s\n", l->l_name);
}

Murr ★★
()

Имеется в виду для glibc.

Murr ★★
()

mkb@october:~$ lsof | grep libc.so
xinit    359  mkb  txt   VREG 116,131072     577872 132882 /usr/lib/libc.so.4
fluxbox  365  mkb  txt   VREG 116,131072     577872 132882 /usr/lib/libc.so.4
gkrellm  367  mkb  txt   VREG 116,131072     577872 132882 /usr/lib/libc.so.4
opera    382  mkb  txt   VREG 116,131072     577872 132882 /usr/lib/libc.so.4
xmms     540  mkb  txt   VREG 116,131072     577872 132882 /usr/lib/libc.so.4
rxvt    1792  mkb  txt   VREG 116,131072     577872 132882 /usr/lib/libc.so.4
lsof    1794  mkb  txt   VREG 116,131072     577872 132882 /usr/lib/libc.so.4

man lsof

anonymous
()

Всем спасибо! 2Murr, а ведь можно и так:

#include <dlfcn.h>
#include <link.h>

main (int argc, char *argv) {
struct link_map * l;

for (l = dlopen(0, RTLD_LAZY); l; l = l->l_next)
printf ("%s\n", l->l_name);
}

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.