$ 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。