首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ps命令获取特定进程的计数,然后对用户进行排序和计数

如何使用ps命令获取特定进程的计数,然后对用户进行排序和计数
EN

Unix & Linux用户
提问于 2017-06-22 13:54:58
回答 3查看 2.7K关注 0票数 1

我需要以用户的方式查看特定进程的计数。例如,我知道

代码语言:javascript
复制
ps -ef | grep apache

这列出了所有apache进程。现在,我要统计一下每个用户在Linux中运行的进程数量。

我怎么能拿到这个。

EN

回答 3

Unix & Linux用户

发布于 2017-06-22 14:21:25

短期解决方案:

代码语言:javascript
复制
ps -eo "%U" --sort=user h | uniq -c
  • --sort=user -按user name排序
  • uniq -c -每个唯一用户的进程数
票数 1
EN

Unix & Linux用户

发布于 2017-06-22 14:03:13

试一试

代码语言:javascript
复制
ps -e -o user h| awk '{u[$1]++} END { for (user in u ) printf "%s:%d\n",user,u[user]}'

哪里

  • -e列表所有进程
  • -o user只输出用户
  • h不显示标头
  • awk将对用户进行计数,并在ps输出结束时显示计数。

编辑:可以(某种程度上)缩短到,谢谢@Gohu。

代码语言:javascript
复制
ps -e -o user h| sort | uniq -c | sort -rg
票数 0
EN

Unix & Linux用户

发布于 2017-06-22 14:34:57

POSIXly:

代码语言:javascript
复制
ps -Ao user= | sort | uniq -c | sort -rn
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/372714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档