top:计算属于用户的进程数

时间:2015-04-13 17:39:33

标签: linux macos shell unix

有没有办法计算用户在unix / linux / os x终端中运行的进程数?

例如,top -u taha列出了我的流程。我希望能够算上这些。

3 个答案:

答案 0 :(得分:3)

这会向所有用户显示他们的计数(我相信这对你来说已经足够了。)

ps -u "$(echo $(w -h | cut -d ' ' -f1 | sort -u))" o user= | sort | uniq -c | sort -rn

答案 1 :(得分:0)

我对* nix有些新意,所以也许我没有完全理解你的问题的背景,但这是一个可能的解决方案:

jobs | wc -l

上述命令的输出是jobs命令报告的所有进程的计数。您可以操作jobs命令的参数来更改报告的进程。

编辑:仅供参考,这只有在对源自特定shell的命令感兴趣时才有效。如果您希望在查看系统范围的流程时获得更多控制权,则可能需要使用其他人建议的ps。但是,如果您使用wc进行统计,请确保考虑到任何无关的空格jobspstop可能会影响输出wc

答案 2 :(得分:0)

您可以使用ps输出并使用wc计算数字,如下:

ps -u user | sed 1d | wc -l

你也可以转储top输出并grep它,例如:

top -u user -n1 | grep user | wc -l