Відповіді:
Ще один спосіб побачити, що завантажено в процесі - перегляньте /proc/PID/maps
файл. Це показує все, відображене у вашому адресному просторі, включаючи спільні об’єкти, відображені у.
sudo grep libcairo.so /proc/*/maps
це приємний спосіб оглянути відразу все /proc/PID/maps
згадане Річком . Вибірка зразка:
/proc/8390/maps:7f0a9afae000-7f0a9b0bc000 r-xp 00000000 fc:00 274690 /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.6
/proc/8390/maps:7f0a9b0bc000-7f0a9b2bc000 ---p 0010e000 fc:00 274690 /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.6
/proc/8390/maps:7f0a9b2bc000-7f0a9b2bf000 r--p 0010e000 fc:00 274690 /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.6
/proc/8390/maps:7f0a9b2bf000-7f0a9b2c0000 rw-p 00111000 fc:00 274690 /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.6
/proc/8466/maps:7f0a9afae000-7f0a9b0bc000 r-xp 00000000 fc:00 274690 /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.6
/proc/8466/maps:7f0a9b0bc000-7f0a9b2bc000 ---p 0010e000 fc:00 274690 /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.6
/proc/8466/maps:7f0a9b2bc000-7f0a9b2bf000 r--p 0010e000 fc:00 274690 /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.6
/proc/8466/maps:7f0a9b2bf000-7f0a9b2c0000 rw-p 00111000 fc:00 274690 /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.6
Далі awk
і баш-фу може додатково вдосконалити вихід.
Цей метод також показує бібліотеки, відкриті dlopen
, протестовані з цією мінімальною установкою, підключеною до sleep(1000)
Ubuntu 18.04.
Ви можете запустити наступну команду через root і побачити повний список,
cat /proc/*/maps | awk '{print $6;}' | grep '\.so' | sort | uniq
Це для користувачів, які не мають lsof.
lsof
не мала необхідної функціональності.