pidofコマンドでLinuxのプロセスIDを素早く取得する方法|psコマンドとの使い分け


この記事の監修:宮崎智広(Linux教育歴15年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxtips > pidofコマンドでLinuxのプロセスIDを素早く取得する方法|psコマンドとの使い分け
プロセスを停止(kill)したり、特定のプロセスを操作する際には、まずそのプロセスのPID(プロセスID)を取得する必要があります。

通常は ps aux | grep プロセス名 で調べることが多いですが、出力が多くて見づらい場合があります。そんなときに便利なのが pidof コマンドです。

【この記事でわかること】

・pidofコマンドでプロセス名からPID(プロセスID)を素早く取得できる
・psコマンドより出力がシンプルで、スクリプトでの自動化に向いている
・pidofは/sbin/配下にあるため、PATHが通っていない場合はフルパスで実行する
・pgrep -xコマンドも同様の機能を持ち、より高機能な代替として使える

基本的な使い方

1. プロセス名からPIDを取得する

# initプロセスのPIDを表示する(initは必ず1) [root@Tiger ~]# pidof init 1 # httpdのPIDを表示する(複数プロセスがある場合は全て表示) [root@Tiger ~]# pidof httpd 1227 1226 1225 1224 1223 1141

2. フルパスで実行する(PATHが通っていない場合)

pidof/sbin/ ディレクトリに格納されています。一般ユーザー環境などPATHが設定されていない場合はフルパスで指定します。

[root@Tiger ~]# /sbin/pidof postmaster 1276 1275 1274 1273 1189

応用・psコマンドとの使い分け

psコマンドとpidofの違い

ps aux | grep プロセス名:詳細情報(CPU使用率・メモリ・実行時間など)も一緒に確認できる
pidof プロセス名:PIDのみを素早く取得できる。スクリプトでの自動化に向いている

killコマンドと組み合わせる

スクリプトでプロセスを停止する際にpidofと組み合わせて使うことができます。

# httpdを停止する(pidofのPIDをkillに渡す) [root@Tiger ~]# kill $(pidof httpd) # または [root@Tiger ~]# kill `pidof httpd`

pgrepコマンドも同様の機能を持つ

pgrep コマンドはpidofに近い機能を持ちつつ、より柔軟な検索ができます。

# プロセス名でPIDを取得する(pgrepの場合) [root@server ~]# pgrep -x httpd 1141 1223 1224 # プロセス名も一緒に表示する [root@server ~]# pgrep -xa httpd 1141 /usr/sbin/httpd -DFOREGROUND

トラブルシュート

pidofが何も表示しない場合

指定したプロセス名でプロセスが実行されていない場合、pidofは何も表示せずに終了します。ps aux で実際のプロセス名を確認してから再試行してください。

# 実際のプロセス名を確認する [root@Tiger ~]# ps aux | grep apache # "apache2" と表示された場合は pidof apache2 で再試行

本記事のまとめ

pidof プロセス名:プロセス名からPIDを素早く取得する
・複数のプロセスが動いている場合は全PIDがスペース区切りで表示される
・PATHが通っていない場合は /sbin/pidof のフルパスで実行する
kill $(pidof プロセス名) でプロセスをまとめて停止できる
pgrep コマンドもPID取得に使えて、より柔軟な検索が可能

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

Linuxのプロセス管理を体系的に学びたい方へ

pidofなどのプロセス管理コマンドを使いこなすことで、障害発生時のプロセス操作が迅速に行えるようになります。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。


無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録

宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。