pidof ピーアイディーオブ

英語表記pidof

日本語表記PID検索

正式名称pidof

危険度安全

What does it mean?

プログラム名からPIDを取得します。単純な稼働確認には便利ですが、検索条件の細かさではpgrepのほうが柔軟です。

Command Quest

pidof を今日の道具にする

プログラム名からPIDを取得します。単純な稼働確認には便利で...

$ pidof [オプション] プログラム名
関連用語0
次のコマンド0
FAQ2
参照2

概要

プログラム名からPIDを取得します。単純な稼働確認には便利ですが、検索条件の細かさではpgrepのほうが柔軟です。

基本構文

pidof [オプション] プログラム名

詳細解説

pidofは、指定したプログラム名に一致する実行中プロセスのPIDを表示するコマンドです。短い書式で使えるため、単純な存在確認やPID取得には便利です。

一方で、名前一致の考え方やオプションの豊富さではpgrepのほうが柔軟です。ユーザー絞り込みや完全コマンドライン一致が必要ならpgrepを選んだほうが安全なことが多くあります。

また、pidofはPOSIX標準ではなく、環境によって未導入だったり実装差があったりします。

このコマンドを使う場面

単純な存在確認、名前からのPID取得、手元での軽い調査に使います。

まず安全に試す方法

1. sleep 300 &
2. pidof sleep
3. pidof -s sleep

3分ミッション

少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。

  1. 自分で起動したsleepに対してpidofを実行し、単純検索を体験します。

オプション

  • -s
    最初の一件だけ表示します。
    pidof -s sshd
  • -x
    一致名のスクリプトを実行中のシェルも対象に含めます。
    pidof -x script.sh
  • -o PID
    特定PIDを結果から除外します。
    pidof -o %PPID bash

実行結果サンプル

  • sleep 300 & pidof sleep
    12345

戻り値コード

  • 0 一致するPIDが見つかりました。
  • 1 一致するPIDが見つかりませんでした。
  • >1 不正なオプションなどで処理できませんでした。

使用例

  • pidof sshd
  • pidof -s cron
  • pidof -x script.sh

よくあるエラー

  • pidofが見つからない
    原因: 対象環境に未導入です。
    対処: パッケージ導入有無を確認し、代替としてpgrepも検討します。
  • 複数PIDが返って想定が崩れた
    原因: 同名プロセスが複数動作しています。
    対処: -sで一件に絞る前に、本当に一件でよいかを確認します。

導入・互換性情報

pidofは標準化されたコマンドではなく、導入有無やオプションに実装差があります。最小構成では未導入のことがあるため、移植性を優先するならpgrepも候補です。

注意点 / セキュリティリスク

危険度は低いですが、同名プロセスが複数あると複数PIDが返ります。後続処理で一件だけを想定すると誤作動の原因になります。

FAQ

  • Q. pgrepとの違いは何ですか。
    A. pidofは名前ベースの単純検索に向き、pgrepはユーザーや完全コマンドラインなど柔軟な条件指定に向きます。
  • Q. スクリプト名も探せますか。
    A. -xでその名前のスクリプトを実行中のシェルを含めることができます。

参照リンク

関連記事