FreeBSD에서 프로세스의 로드된 모든 라이브러리를 나열하는 방법은 무엇입니까? Linux에서는 사용할 수 있습니다/proc
cat /proc/$pid/maps
솔라리스에는pldd
pldd $pid
FreeBSD에서도 작동합니다 /proc
:
cat /proc/$pid/map
그러나 /proc
기본적으로 설치되지는 않습니다. 이는 고객 시스템의 자동 감지 도구에서 사용되고 있으므로 즉시 사용할 수 있는 도구(도구 또는 파일)를 찾고 있습니다. FreeBSD에서 데이터를 처리하려면 추가 인터페이스가 있어야 한다고 가정 top
합니다 /proc
.
답변1
프로그램 통계당신의 친구입니다.
귀하는 특정 목적을 위해 정보를 얻을 수 있습니다 pid
.
procstat -v $pid
또는 모든 프로세스를 원하면 다음을 수행하십시오.
procstat -va
다음과 같은 출력이 생성됩니다.
$ procstat -v 61303
PID START END PRT RES PRES REF SHD FL TP PATH
61303 0x400000 0x438000 r-x 46 47 2 0 CN-- vn /usr/local/bin/ksh
61303 0x638000 0x63c000 rw- 4 4 1 0 CN-- df
61303 0x800638000 0x800655000 r-x 29 30 204 0 CN-- vn /libexec/ld-elf.so.1
61303 0x800655000 0x800675000 rw- 23 23 1 0 CN-- df
61303 0x800855000 0x800857000 rw- 2 2 1 0 CN-- df
61303 0x800857000 0x8009cd000 r-x 293 329 218 102 CN-- vn /lib/libc.so.7
61303 0x8009cd000 0x800bcd000 --- 0 0 1 0 CN-- df
61303 0x800bcd000 0x800bd9000 rw- 12 0 1 0 C--- vn /lib/libc.so.7
61303 0x800bd9000 0x800c03000 rw- 8 8 1 0 CN-- df
61303 0x801000000 0x801800000 rw- 26 26 1 0 C--- df
61303 0x7ffffffdf000 0x7ffffffff000 rw- 3 3 1 0 C--D df
61303 0x7ffffffff000 0x800000000000 r-x 1 1 208 0 ---- ph
아래에서 공유 라이브러리(및 바이너리 자체)를 볼 수 있습니다.PATH