从一个范围中抨击进程

时间:2014-03-11 13:36:20

标签: linux bash shell

我需要列出特定范围内的工作进程标识符的数量。例如,我有三个带PID的进程:125,200,450。然后我需要一个像(伪代码)的命令 -

  

top -r 100-300

我想在输出中看到

  

2

它是PID 125和200的两个进程的总和。 我无法理解,我怎么能在'ps' ps的帮助下做到这一点。和' top'命令。也许还有其他命令?或者我的工作可以用这些命令完成?

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以像这样使用awk

ps | awk '($1>=lo)&&($1<=hi){n++}END{print n}'

lo替换为下限(100),将hi替换为上限(300)。

如果你的范围足够小,你可能会侥幸成功:

ps -h -p {100..300} | wc -l