# 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
\\ はシェルで \ として解釈され、 \h は grep で 'h' と同じように解釈されます。したがって、以前と同様に「sshd」を効果的に検索します。ただし、独自のコマンド文字列には「sshd」が含まれず、「ss \ hd」が含まれているため、それ自体は一致しません。
答え3
リテラルテキストと一致しない正規表現になるようにパターンを変更します。
ps -ef | grep [s]shd
答え4
あなたに必要なものps -e | grep sshd
(ps -ef
プロセスとそのパラメータをリストし、ps -e
プロセスのみをリストします。)