有没有办法计算用户在unix / linux / os x终端中运行的进程数?
例如,top -u taha
列出了我的流程。我希望能够算上这些。
答案 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
进行统计,请确保考虑到任何无关的空格jobs
,ps
或top
可能会影响输出wc
。
答案 2 :(得分:0)
您可以使用ps
输出并使用wc
计算数字,如下:
ps -u user | sed 1d | wc -l
你也可以转储top
输出并grep它,例如:
top -u user -n1 | grep user | wc -l