No.081プロセスとジョブ
pidof
ピーアイディーオブ・PID検索
プログラム名からPIDを取得します。単純な稼働確認には便利ですが、検索条件の細かさではpgrepのほうが柔軟です。
答えよく使う形
$ sleep 300 &
pidof sleep
12345
$ pidof sshd
$ pidof -s cron
練習用の部屋です。何を打っても本物は変わりません。本物の Linux で続ける →
どんなコマンド?
単純な存在確認、名前からのPID取得、手元での軽い調査に使います。
pidofは、指定したプログラム名に一致する実行中プロセスのPIDを表示するコマンドです。短い書式で使えるため、単純な存在確認やPID取得には便利です。
一方で、名前一致の考え方やオプションの豊富さではpgrepのほうが柔軟です。ユーザー絞り込みや完全コマンドライン一致が必要ならpgrepを選んだほうが安全なことが多くあります。
また、pidofはPOSIX標準ではなく、環境によって未導入だったり実装差があったりします。
書き方とオプション
組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。
$ pidof
使用例と実行結果
行を押すとコピーできます。
12345
まず安全に試す
3分ミッション
手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。
0 / 1
つまずいたとき
pidofが見つからない
原因対象環境に未導入です。
こうするパッケージ導入有無を確認し、代替としてpgrepも検討します。
複数PIDが返って想定が崩れた
原因同名プロセスが複数動作しています。
こうする-sで一件に絞る前に、本当に一件でよいかを確認します。
終わったときの数(戻り値)
$ echo $?
- 0一致するPIDが見つかりました。
- 1一致するPIDが見つかりませんでした。
- >1不正なオプションなどで処理できませんでした。
気をつけることと入れ方
危険度は低いですが、同名プロセスが複数あると複数PIDが返ります。後続処理で一件だけを想定すると誤作動の原因になります。
環境による違い
pidofは標準化されたコマンドではなく、導入有無やオプションに実装差があります。最小構成では未導入のことがあるため、移植性を優先するならpgrepも候補です。
確かめた環境2026-04-09 に確認
よくある質問
pgrepとの違いは何ですか。
pidofは名前ベースの単純検索に向き、pgrepはユーザーや完全コマンドラインなど柔軟な条件指定に向きます。
スクリプト名も探せますか。
-xでその名前のスクリプトを実行中のシェルを含めることができます。
pidof を最後まで読みました。
Linux コマンド辞典に戻る82 / 144