【问题标题】:top: counting the number of processes belonging to a usertop:统计属于某个用户的进程数
【发布时间】:2015-06-19 03:12:17
【问题描述】:

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

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

【问题讨论】:

    标签: linux macos shell unix


    【解决方案1】:

    这将显示所有用户及其计数(我相信这对您来说已经足够接近了。:)

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

    【讨论】:

      【解决方案2】:

      我对 *nix 有点陌生,所以也许我没有完全理解你的问题的上下文,但这里有一个可能的解决方案:

      jobs | wc -l
      

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

      编辑:仅供参考,这仅在对源自特定外壳的命令感兴趣时才有效。如果您想要更多地控制查看系统范围的进程,您可能想要使用ps,正如其他人所建议的那样。但是,如果您使用wc 进行计数,请确保您考虑到任何无关的空白jobspstop 可能已生成,因为这会影响wc 的输出。

      【讨论】:

        【解决方案3】:

        你可以用ps输出,用wc统计个数,如:

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

        您还可以转储 top 输出并 grep 它,例如:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-02-19
          • 2016-07-18
          • 2015-10-06
          • 1970-01-01
          • 1970-01-01
          • 2022-11-16
          • 1970-01-01
          相关资源
          最近更新 更多