【发布时间】:2015-06-19 03:12:17
【问题描述】:
有没有办法计算用户在 unix/linux/os x 终端中运行的进程数?
例如,top -u taha 列出了我的进程。我希望能够数出这些。
【问题讨论】:
有没有办法计算用户在 unix/linux/os x 终端中运行的进程数?
例如,top -u taha 列出了我的进程。我希望能够数出这些。
【问题讨论】:
这将显示所有用户及其计数(我相信这对您来说已经足够接近了。:)
ps -u "$(echo $(w -h | cut -d ' ' -f1 | sort -u))" o user= | sort | uniq -c | sort -rn
【讨论】:
我对 *nix 有点陌生,所以也许我没有完全理解你的问题的上下文,但这里有一个可能的解决方案:
jobs | wc -l
上述命令的输出是jobs命令报告的所有进程的计数。您可以操纵作业命令的参数来更改要报告的进程。
编辑:仅供参考,这仅在对源自特定外壳的命令感兴趣时才有效。如果您想要更多地控制查看系统范围的进程,您可能想要使用ps,正如其他人所建议的那样。但是,如果您使用wc 进行计数,请确保您考虑到任何无关的空白jobs、ps 或top 可能已生成,因为这会影响wc 的输出。
【讨论】:
你可以用ps输出,用wc统计个数,如:
ps -u user | sed 1d | wc -l
您还可以转储 top 输出并 grep 它,例如:
top -u user -n1 | grep user | wc -l
【讨论】: