# ps -ef | grep gre
root 15067 63614 0 11:03 pts/0 00:00:00 grep --color=auto gre
另一个例子
# ps -ef | grep sshd
root 1186 1 0 Jul26 ? 00:00:00 /usr/sbin/sshd -D
root 15439 63614 0 11:05 pts/0 00:00:00 grep --color=auto sshd
如何阻止 grep 命令被自身找到而不作为字段返回?
答案1
更好的方法是用于pgrep
该任务。如今,它似乎在大多数系统上都可用。
答案2
有很多方法,或多或少有些老套和尴尬。我最喜欢的是在搜索字符串中的字母之前插入双反斜杠:
ps -ef | grep ss\\hd
\\ 被 shell 解释为 \,而 \h 被 grep 解释为等价于 'h'。所以它像以前一样有效地搜索“sshd”。但是,它自己的命令字符串不再包含“sshd”,而是包含“ss\hd”,因此它与自身不匹配。
答案3
更改模式,使其成为与文字文本不匹配的正则表达式。
ps -ef | grep [s]shd
答案4
你需要的是ps -e | grep sshd
(ps -ef
列出进程及其参数,ps -e
仅列出进程)。