pidof
は、実行中のプログラムのプロセスIDを見つけることができるコマンドラインユーティリティです。
この記事では、Linuxのpidof
の使用方法について説明します。 コマンド。
pidof
の使用方法 コマンド#
pidof
にはさまざまな実装があります RedHatおよびDebianベースのディストリビューション用。 Red Hatディストリビューションでは、pidof
コマンドはprocps-ng
の一部です パッケージ、Debianでは、sysvinit-utils
の一部です 。両方の実装に共通するオプションについて説明します。
pidof
の構文 コマンドは次のとおりです:
pidof [OPTIONS] PROGRAM_NAME
このコマンドは引数として0個以上の名前を受け入れますが、通常、pidof
に渡す名前は1つだけです。 。
オプションなしで呼び出された場合、pidof
指定された名前と一致するすべての実行中のプログラムのPIDを出力します。たとえば、SSHサーバーのPIDを見つけるには、次のコマンドを実行します。
pidof sshd
sshd
と一致する名前の実行中のプロセスがある場合 、それらのPIDが画面に表示されます。一致するものが見つからない場合、出力は空になります。
4382 4368 811
pidof
0
を返します 少なくとも1つの実行中のプログラムが要求された名前と一致する場合。それ以外の場合、終了コードは1
です。 。これは、シェルスクリプトを作成するときに役立ちます。
検索しているプログラムのPIDのみが表示されるようにするには、プログラムへのフルパス名を引数として使用します。たとえば、2つの異なるディレクトリに同じ名前の2つの実行中のプログラムがある場合、pidof
実行中の両方のプログラムのPIDが表示されます。
デフォルトでは、一致する実行中のプログラムのすべてのPIDが表示されます。 -s
を使用します pidof
を強制するオプション 1つのPIDのみを表示するには:
pidof -s program_name
-o
オプションを使用すると、特定のPIDを持つプロセスをコマンド出力から除外できます。
pidof -o pid program_name
pidof
の場合 -o
で呼び出されます オプションで、%PPID
という名前の特別なPIDを使用できます これは、呼び出し元のシェルまたはシェルスクリプトを表します。
同じルートディレクトリで実行されているプロセスのPIDのみを返すには、-c
を使用します。 オプション。
このオプションはpidof
でのみ機能します ルートまたはsudo
として実行されます ユーザー:
pidof -c pid program_name
pidof
の使用例 コマンド#
次の例は、pidof
の使用方法を示しています。 kill
と組み合わせたコマンド プログラムを終了するコマンド。
Firefoxブラウザが応答しなくなり、Firefoxプロセスを強制終了する必要があるとします。まず、pidof
を使用してPIDを見つけます :
pidof firefox
このコマンドは、すべてのFirefoxプロセスを出力します:
2551 2514 1963 1856 1771
FirefoxがPIDを処理することがわかったら、SEGTERM
を送信します それらすべてを終了するように合図します:
sudo kill -9 2551 2514 1963 1856 1771
コマンド置換式$(...)
を使用することもできます 、1つのコマンドでプログラムを終了するには:
sudo kill -9 $(pidof firefox)
結論#
pidof
コマンドは、実行中の特定のプログラムのPIDを見つけるために使用されます。
pidof
は多くのオプションがない単純なコマンドです。通常、pidof
を呼び出します 検索しているプログラムの名前のみ。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。