この記事では、Linuxの pgrepの基本について説明します。 コマンド。
pgrep は、指定された基準に基づいて実行中のプログラムのプロセスIDを見つけることができるコマンドラインユーティリティです。プロセス名の全部または一部、プロセスを実行しているユーザー、またはその他の属性にすることができます。
pgrep コマンドはprocpsの一部です (または procps-ng )パッケージ。ほぼすべてのLinuxディストリビューションにプリインストールされています。
pgrepの使用方法 コマンド#
pgrepの構文 コマンドは次のとおりです:
pgrep [OPTIONS] <PATTERN>
一致する 拡張正規表現を使用して指定されます。
オプションなしで呼び出された場合、 pgrep 指定された名前と一致するすべての実行中のプログラムのPIDを表示します。たとえば、SSHサーバーのPIDを見つけるには、次のコマンドを実行します。
pgrep ssh 「ssh」と一致する名前の実行中のプロセスがある場合、それらのPIDが画面に表示されます。一致するものが見つからない場合、出力は空です。
1039
2257
6850
31279
コマンドは0を返します 少なくとも1つの実行中のプロセスが要求された名前と一致する場合。それ以外の場合、終了コードは 1です。 。これは、シェルスクリプトを作成するときに役立ちます。
一致したプロセスにシグナルを送信する場合は、 pkillを使用します 。このコマンドは、 pkillのラッパーです。 、同じオプションとパターンマッチングを使用します。
pgrep 一致した各プロセスIDを改行に出力します。 -d オプションを使用すると、別の区切り文字を指定できます。たとえば、スペースを区切り文字として使用する場合は、次のように入力します。
pgrep ssh -d' ' 1039 2257 6850 31279
-l </ code> オプションはpgrepに指示します プロセス名とそのIDを表示するには:
pgrep ssh -l
pgrep 正規表現を使用して検索操作を実行し、名前に「ssh」を含むすべてのプロセスを一覧表示します。
1039 sshd
2257 ssh-agent
6850 ssh
31279 ssh-agent
名前が検索パターンとまったく同じであるプロセスのみを照合する場合は、次を使用します。
pgrep '^ssh$' -l 6850 ssh
カレット( ^ )文字列の先頭で文字が一致し、ドル $ 最後に。
デフォルトでは、 pgrep プロセス名とのみ一致します。 -fの場合 オプションを使用すると、コマンドは完全な引数リストと照合されます。
pgrep -f ssh
-uを使用します pgrepに伝えるオプション 特定のユーザーによって実行されているプロセスを表示するには:
pgrep -u root 複数のユーザーを指定するには、名前をコンマで区切ります。
pgrep -u root,mark オプションと検索パターンを組み合わせることもできます。たとえば、ユーザー「mark」の下で実行され、名前に「gnome」が含まれているすべてのプロセスとその名前を印刷するには、次のように入力します。
pgrep -l -u mark gnome
最も最近(最も古い)または最も最近(最も新しい)開始されたプロセスのみを表示するには、 -nを使用します (最新の場合)または -o (最も古い)オプション。
たとえば、ユーザー「マーク」によって開始された最新のプロセスを見つけるには、次のように入力します。
pgrep -lnu mark 上記の例からわかるように、オプションの間にスペースを入れずに、1つのダッシュでオプションを組み合わせることもできます。
一致を逆にするには、つまり、指定された基準に一致しないプロセスのみを表示するには、 -vを使用します オプション。次のコマンドは、ユーザー「マーク」によって実行されていないすべてのプロセスを出力します。
pgrep -v -u mark
-c オプションはpgrepに指示します 一致するプロセスの数のみを出力します。たとえば、ユーザー「マーク」として実行されるプロセスを見つけるには、次のように入力します。
pgrep -c -u mark 結論#
pgrep コマンドは、さまざまな基準に基づいて実行中のプログラムのPIDを見つけるために使用されます。
pgrepの詳細については コマンドを実行するには、pgrepのマンページにアクセスするか、 man pgrepと入力します。 ターミナルで。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。