pgrep の使い方

名前で PID を探す

書き方

pgrep [-l] [-f] 名前

kill $(pgrep 名前) のように組み合わせます。

よく使うオプション

オプション意味
-lPID と一緒に名前も出す
-aPID と一緒にコマンドの行全体を出す
-fコマンドの行全体から探す
-u ユーザーそのユーザーのものだけ
-x名前がぴったり同じものだけ

例

$ pgrep sshd1123
4511

sshd の PID を出します。

$ pgrep -a nginx1501 nginx: master process /usr/sbin/nginx
1502 nginx: worker process

PID とコマンドの行を出し、親(master)と子(worker)を見分けます。

$ pgrep -u ec2-user -l

ec2-user が動かしているプロセスを名前つきで出します。

$ pgrep -x httpd > /dev/null && echo running

httpd が動いているかだけを確かめます。見つかると 0(成功)で終わるので、&& で続けられます。

よくある間違い・注意

  • 名前は前方の一部でも当たります。sh で探すと sshd も当たるので、ぴったり合わせたいときは -x を使います。
  • ps aux | grep と違い、pgrep 自身は結果に出ません。

実際に打って練習する

Linux レベル1 コースの Lv67「名前で探す pgrep」で覚えます(第4章 サーバーの守り手(パッケージとサービス))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜16 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

Linux コマンド一覧(LinuC レベル1 の範囲)へ戻る