根据正则表达式查找所有正在运行的进程

根据正则表达式查找所有正在运行的进程

如何找到所有正在运行的进程的列表,并使用正则表达式对命令列进行过滤。

ps aux是我用来获取所有正在运行的进程的列表的工具,但我只需要在该命令列上过滤名称中包含“pentaho”的任何进程。正则表达式可能如下所示:

(?i).*pentaho.* 

(不区分大小写)

答案1

大多数 Linux 和 Unix 安装都有一个pgrep以此命名的命令。命令名称p中的 是process.检查手册页以确保pgrep支持您要使用的特定正则表达式。该-f选项(匹配full command line而不只是进程名称)通常很有用。

有一个名为 的伴随命令,pkill因为您搜索进程的原因通常是因为您想向其中之一发送信号。 pkill这样做,并且有额外的选项来指定您想要发送的信号 - 很像常规kill命令。

答案2

您可以使用 ps aux 命令和 grep 命令来根据正则表达式过滤输出。

ps aux | grep -i ".*pentaho.*"

相关内容