是否有一个实用程序可以从/proc/id/maps
该过程中给出特定地址时为我提供特定行?
例如,当给定0x7fb4a84f6008
它时,它会返回:
7fb4a84f6000-7fb4a84fd000 r-xp 00000000 00:48 20132 /lib64/libnss_compat-2.21.so
答案1
也许pmap
做你想做的事:
$ sudo pmap -Ab75bf022 26746
26746: dhclient -1 -v -pf /run/dhclient.eth5.pid -lf /var/lib/dhcp/dhclient.eth5.leases eth5
b75bf000 4K rw--- ld-2.19.so
total 4K
或者使用地址范围和完整路径:
$ sudo pmap -p -Ab75bf022,b77bf022 26746
26746: dhclient -1 -v -pf /run/dhclient.eth5.pid -lf /var/lib/dhcp/dhclient.eth5.leases eth5
b75bf000 4K rw--- /lib/i386-linux-gnu/ld-2.19.so
b75c0000 1732K r-x-- /sbin/dhclient
b7771000 4K r---- /sbin/dhclient
b7772000 12K rw--- /sbin/dhclient
b7775000 44K rw--- [ anon ]
total 1796K
答案2
您可以使用awk
这样做:
awk -F'[ -]' -v s=7fb4a84f6008 '$1<=s&&s<$2' /proc/id/maps
s=
假设您可以按照与中出现的格式相同的格式给出搜索到的地址(在 后) maps
(没有0x
和具有相同的长度)。