我目前有类似的东西。我正在尝试查找具有特定名称的进程
>:~# ps | grep avahi-daemon
12499 avahi 3048 S avahi-daemon: running [BlahBlah.local]
12500 avahi 3048 S avahi-daemon: chroot helper
12538 root 2672 S grep avahi-daemon <---What is this
第三行是什么?为什么会这样说grep avahi-daemon
答案1
它被返回,因为它与你的 grep 模式匹配。
具体来说,所有三行都包含单词“avahi-daemon”,并且按照您的要求,grep 解析了 的输出ps
,并发现除了两个实际名为 avhai-daemon 的进程之外,还有一个正在运行的进程 ,grep avahi-daemon
它匹配。如果您确实不想返回它,则需要在 grep 中添加“不匹配”子句,并告诉它您希望它搜索包含 avahi-daemon 但不包含 grep 的行。
答案2
从 ps 输出中排除 grep 的一种方法是不运行 grep。
您可以使用 -C 开关过滤 ps 输出,而不是通过管道传输其输出。
要仅列出 avahi-daemon 进程,您可以运行以下命令:
ps -C avahi 守护进程