我一直在寻找在Linux中通过命令行查找同名运行进程数量的最佳方法。例如,如果我想找到运行的bash进程的数量并得到“5”。目前我有一个脚本,它执行“pidof”,然后对标记化字符串进行计数。这很好,但我想知道是否有更好的方法可以完全通过命令行完成。提前感谢你的帮助
在具有可用的pgrep
的系统上,-c
选项返回与给定名称匹配的进程数的计数
pgrep-c命令名
请注意,这是一个grep
样式的匹配,而不是精确匹配,因此,例如pgrep sh
也将匹配bash
进程。如果需要精确匹配,也可以使用-x
选项
如果pgrep
不可用,您可以使用ps
和wc
ps-C命令_名称--无头| wc-l
ps
的-C
选项将command\u name
作为参数,程序将打印一个关于可执行名称与给定命令名称匹配的进程的信息表。这是完全匹配的,而不是grep风格。--no headers
选项将抑制表格的标题,这些标题通常作为第一行打印。如果--没有标题
,则每个匹配的进程将得到一行。然后,wc-l
计算并打印其输入中的行数