一尘不染

通过命令行在Linux中查找进程数

linux

我一直在寻找通过Linux中的命令行查找具有相同名称的正在运行的进程数的最佳方法。例如,如果我想查找正在运行的bash进程数并获得“
5”。目前,我有一个脚本执行’pidof’,然后对标记化字符串进行计数。这工作正常,但我想知道是否有更好的方法可以完全通过命令行来完成。在此先感谢您的帮助。


阅读 210

收藏
2020-06-03

共1个答案

一尘不染

pgrep可用的系统上,该-c选项返回与给定名称匹配的进程数的计数

pgrep -c command_name

请注意,这是grep-style匹配,而不是完全匹配,因此例如pgrep sh也将匹配bash进程。如果您想要完全匹配,请使用该-x选项。

如果pgrep不可用,可以使用pswc

ps -C command_name --no-headers | wc -l

-C选项ps需要command_name作为参数,该程序将打印信息表,谁的可执行文件名给定的命令名称相匹配的过程。这是完全匹配,不是grep-style。该--no- headers选项禁止显示表头,通常将其打印为第一行。使用--no-headers,每个匹配的进程将获得一行。然后wc -l计算并打印其输入中的行数。

2020-06-03