pgrep の使い方
名前で PID を探す
書き方
pgrep [-l] [-f] 名前
kill $(pgrep 名前) のように組み合わせます。
よく使うオプション
| オプション | 意味 |
|---|---|
-l | PID と一緒に名前も出す |
-a | PID と一緒にコマンドの行全体を出す |
-f | コマンドの行全体から探す |
-u ユーザー | そのユーザーのものだけ |
-x | 名前がぴったり同じものだけ |
例
$ pgrep sshd1123
4511sshd の PID を出します。
$ pgrep -a nginx1501 nginx: master process /usr/sbin/nginx
1502 nginx: worker processPID とコマンドの行を出し、親(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 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。