GNU/Linux >> Linux の 問題 >  >> Linux

LinuxのPgrepコマンド

この記事では、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と入力します。 ターミナルで。

ご質問やご意見がございましたら、お気軽にコメントをお寄せください。


Linux
  1. Linuxmvコマンド

  2. Linuxduコマンド

  3. Linuxpsコマンド

  1. Linuxipコマンド

  2. Linuxcdコマンド

  3. プロセス名に基づいてリストされたプロセスをフィルタリングするための Linux の top -c コマンド

  1. Linuxプロセスを監視するための20psのコマンド例

  2. Linuxifconfigコマンド

  3. Linux での pgrep コマンドの例