如何从ps aux列出每个进程,如果它们重复,保持运行计数和格式

时间:2014-06-05 17:35:12

标签: linux bash grep ps

现在,我用这个:

ps aux | grep (Example_Process_1) -c

返回:

221

这很好,它给了我一个数,但我必须为我们拥有的100个不同的项目中的每一个做到:

例如,

ps aux | grep (Example_Process_1) -c
ps aux | grep (Example_Process_2) -c
ps aux | grep (Example_Process_3) -c

等等。 我想要的是运行ONCE的命令,但输出类似:

Example Process 1 - 221
Example Process 2 - 360
Example Process 3 - 500

我意识到我可以编写一个脚本来执行其中的每一个,然后我可以将它们输出到屏幕上,但它很大而且很笨重。有没有人知道任何简短的代码来完成这个?

1 个答案:

答案 0 :(得分:2)

ps -e -o cmd | cut -f 1 -d ' '  | sort | uniq -c

对于所有进程,请打印命令行。获取命令行的第一个单词。对列表进行排序。计算每个的出现次数。