2009-12-22 132 views
0

我需要解析linux系统上“proc/pid/smaps”的输出。在此系统上运行perl/python脚本不是一个选项。 我正在查看是否有一个bash脚本来做同样的事情。是否有一个bash脚本来解析smaps的输出

或者,它也将是美好的是有一个脚本(任何脚本),这需要在输出从/ proc/PID/smaps文本格式,并分析该信息,并在人类可读的格式转储:-)

+1

这是一个文本文件,所以你可以在bash中做任何你喜欢的事情,即使它不是最好的选择,哟你想要的,示例输入和输出将是有用的。 – 2009-12-22 08:03:05

+0

是的,但我无法找到关于如何解释smaps神秘输出的解释。我为一个进程的二进制文件找到了多个条目,或者为它使用的任何共享库找到了多个条目。如果它只显示一个,我可以将其解释为关于该过程(二进制)或其库的详细信息。但是我不知道每个二进制的多行代表什么意思。我有道理吗? – Harty 2009-12-22 11:48:12

回答

0

这里解释/ proc/pid/smaps的内容的高级解释:http://linux.die.net/man/5/proc。搜索'smaps'。

也可以查阅Linux内核源代码,但除非您熟悉内核,否则可能会更困惑。

在回答您的评论,各“部分”是虚拟存储器映射,这可能是一个文件的部位,如可执行.text段,共享库的数据区,栈等

装载机的可执行部分: b7f5d000-b7f77000 R-XP 00000000 08:05 2746096 /lib/ld-2.7.so

的处理堆 bf84a000-bf85f000 RW-p bffeb000 00:00 0 [堆]