为什么我不能 pgrep 进程?

为什么我不能 pgrep 进程?
$ ps aux | grep -i ssh
USER      4364  0.0  0.0   9004  1032 ?        Ss   12:20   0:00 ssh -v -fND localhost:4000 USERNAME@SERVER-IP-ADDRESS

$ pgrep localhost:4000

为什么这不起作用?

答案1

默认情况下,pgrep(1)仅与进程名称匹配。如果您想匹配完整的命令行,请使用以下-f选项:

$ pgrep -f localhost:4000

答案2

看看pgrep 的手册页。它不仅仅是运行 ps 和一堆列然后 grep 文本输出的别名。它实际上搜索特定字段的值。默认情况下,它只查看进程名称进行搜索并返回时PID。您可以通过添加选项来搜索完整的命令行-f。您还可以搜索其他几个可能有用的字段,例如匹配正在运行进程的终端或组 ID。

相关内容