Linux, コマンド · 1 min read · Dec 25, 2025

初心者のためのLinux pidofコマンドチュートリアル(5つの例)

Linuxコマンドラインは、プロセスと連携する多くのユーティリティを提供します。Linuxのpidofコマンドは、1つ以上の実行中のプロセスのプロセスID(PID)を特定するユーティリティです。別のコマンドを使用してプロセスと対話するためには、プロセスのPIDを知る必要がある場合があります。pidofは、プロセス名で検索し、その関連するPIDを迅速に取得できるようにすることで、この作業を簡単にします。pidofは通常、ほとんどのLinuxディストリビューションに含まれており、コマンドラインから使用できます。

このチュートリアルでは、いくつかのわかりやすい例を使ってpidofの基本を説明します。しかし、その前に、ここにあるすべての例はUbuntu 22.04 LTSマシンでテストされていることを述べておく価値があります。

Linux pidofコマンド

上記のように、pidofコマンドは実行中のプログラムのプロセスIDを見つけることができます。以下がその構文です:

pidof [options] command

そして、マニュアルページにはこのツールについて次のように記載されています:

       Pidofは、指定されたプログラムのプロセスID(pids)を見つけます。標準出力にそれらのIDを印刷します。このプログラムは、一部のシステムでランレベル変更スクリプトで使用され、特にシステムがSystem-Vのようなrc構造を持っている場合に使用されます。その場合、これらのスクリプトは/etc/rc?.dにあり、?はランレベルです。システムにスタートストップデーモン(8)プログラムがある場合は、それを代わりに使用する必要があります。

以下は、ツールの動作を理解するのに役立つQ&A形式の例です。

Q1. pidofコマンドの使い方は?

基本的な使い方は非常にシンプルです - プログラムの名前をコマンドに入力として渡すだけです。例えば:

pidof nano

これにより、コマンドは出力にnanoのプロセスIDを返します。

pidofコマンド

Q2. pidofが単一のpidのみを返すようにするには?

時々、pidofコマンドは複数のpidを返すことがあります。例えば、sshデーモンを入力としてpidofコマンドを実行してみてください。

pidof sshd

以下は、私のシステムで生成された出力です:

Linuxプログラムの複数のpid

そして、ここではpsコマンドによってプロセスがどのようにリストされるかの比較です:

ただし、ツールに出力に単一のPIDのみを生成させることができます。これは、-sコマンドラインオプションを使用することで実現できます。

pidof -s sshd

単一のプロセスIDを返す

Q3. ルートディレクトリに基づいて出力を制限するには?

pidofに同じルートディレクトリで実行されているプロセスIDのみを返すようにするには、-cコマンドラインオプションを使用します。

pidof -c program_name

このオプションは、非ルートユーザーには無視されることに注意してください。なぜなら、彼らは自分が所有していないプロセスの現在のルートディレクトリを確認できないからです。

Q4. ネットワークファイルシステムに置かれたバイナリでpidofを使用するには?

NFSのようなネットワークベースのファイルシステムにあるバイナリを扱う場合、-nコマンドラインオプションを使用してpidofコマンドがstatシステム関数呼び出しを使用しないようにすることができます。

pidof -n program_name

マニュアルページでは、「このオプションを使用する代わりに、変数PIDOF_NETFSを設定してエクスポートすることができます」と示唆しています。

Q5. pidofは内部でどのように動作するのか?

公式のドキュメントによると、pidofは実際にはkillallと同じプログラムです。プログラムは、呼び出される名前に応じて動作します。マニュアルページには次のように記載されています:

       pidofがプログラムのフルパス名で呼び出されると、見つけるべきpidを安全に見つけることができます。そうでない場合、同じ名前の実行中のプログラムのpidを返す可能性がありますが、それは実際には他のプログラムです。実行中のプロセスの実行可能名はread?link(2)で計算されるため、実行可能ファイルへのシンボリックリンクも一致します。

結論

pidofコマンドは多くの状況で役立つかもしれません。例えば、PIDがわからないプロセスを終了させたい場合、このツールを迅速に使用してプロセスIDを見つけ、プロセスをすぐに終了させることができます。pidofコマンドは多くのオプションを提供しておらず、ここでほとんどのオプションについてすでに説明しました。詳細については、ツールのマニュアルページを参照してください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。