我如何获得信息/ proc / $ pid / smaps

时间:2013-10-18 09:20:18

标签: linux bash memory-management sh pid

我必须创建一个bash脚本,其中/proc/$pid/smaps提供以下信息,而不是:

total memory: 2mb

Memory resident: 3kb

private memory + shared: 3kb

Private total memory: 5kb

如何访问数据并添加cantiades? 如果我这样做cat / proc / $ pid / smaps给我文件的所有行,并且不知道如何只选择你想要的那些。

1 个答案:

答案 0 :(得分:1)

您可以使用grep来获取具有模式匹配的特定行,例如:

grep -e ^Private -e ^Rss -e ^Pss /path/to/proc

等效,更短但不太便携的方式:

grep -E '^(Private|Rss|Pss)' /path/to/proc

您可以使用sed按行号打印特定行:

# print 5th line
sed -ne 5p
# print from 5th line until the end of file
sed -ne '5,$p'
# print everything except the 5th line (= delete the 5th line)
sed -e 5d

您可以使用tail从第二行打印到文件结尾(=忽略第一行):

tail +2 /path/to/proc

我希望这能满足您的需求。