Categories: linux

pkillコマンド徹底解説!名前やパターンでプロセスを簡単に終了する方法【Linux入門】

Linuxを使っていると、特定のプロセスを終了させたい場面がよくあります。
そのときに便利なのが、pkill コマンドです。kill コマンドと似ていますが、pkill はプロセスID(PID)を指定する必要がなく、プロセス名やパターンマッチで対象を簡単に終了できます。
本記事では、pkill の基本的な使い方から応用例、注意点までをわかりやすく解説します。Linuxのターミナル操作に慣れていない方でも理解しやすいよう、具体的なコマンド例を交えて紹介しますので、ぜひ最後までご覧ください。


pkillコマンドとは?

pkill は、「process kill」の略で、指定した条件に一致するプロセスを終了させるコマンドです。
従来の kill コマンドでは、対象のプロセスID(PID)を調べてから指定する必要がありますが、pkill ではプロセス名などの条件を使って直接終了できるため、効率的な運用が可能になります。

基本構文

pkill [オプション] パターン
  • パターン:対象のプロセス名や正規表現など
  • オプション:マッチ方法や対象ユーザーなどを指定する

pkillの基本的な使い方

プロセス名で終了させる

最も基本的な使い方は、プロセス名をそのまま指定する方法です。

pkill firefox

このコマンドは、現在実行中の firefox という名前のプロセスすべてを終了させます。
該当するプロセスが複数あっても、一度にまとめて終了できます。

正規表現でマッチさせる

pkill はパターンマッチ(正規表現)にも対応しています。

pkill '^g.*e$'

このように指定すれば、名前が g で始まり e で終わるプロセス名を終了させます。
例えば google-chrome などが該当する可能性があります。


オプションを活用する

pkill はさまざまなオプションがあり、柔軟な指定が可能です。

-u:ユーザー指定

特定のユーザーが起動しているプロセスだけに限定して終了させたい場合に使います。

pkill -u bob python

このコマンドは、ユーザー bob が実行中の python プロセスを終了します。

-f:フルコマンドラインでマッチ

通常はプロセス名だけでマッチしますが、-f をつけることでコマンドライン全体に対してマッチが可能になります。

pkill -f "python my_script.py"

たとえばスクリプト名で特定したいときに便利です。

-n:最新のプロセスのみ終了

pkill -n nginx

このコマンドは、nginx の中でもっとも新しく起動したプロセスを終了します。

-o:最も古いプロセスを終了

pkill -o nginx

上記は最も古い nginx プロセスを対象にします。プロセスの世代管理などに活用できます。


pkillとkillの違い

ここで、pkillkill の違いを整理しておきましょう。

項目killpkill
指定方法プロセスID(PID)を指定プロセス名やパターンで指定
柔軟性PIDを知っている必要ありユーザーや正規表現で柔軟に選択可能
kill 1234pkill nginx

kill は対象が明確なときに有効ですが、pkill のほうが手間がかからず、特にスクリプトや運用で重宝します。


実際の使用例とシナリオ

例1:Pythonスクリプトを強制終了

pkill -f my_script.py

複数起動しているPythonスクリプトのうち、ファイル名に my_script.py を含むものを終了できます。

例2:特定のユーザーのプロセスを一括終了

pkill -u alice

ユーザー alice のすべてのプロセスを強制終了します。運用上は注意が必要なコマンドですが、ログアウト処理の一環として使われることもあります。

例3:デーモンプロセスの管理

pkill nginx
systemctl start nginx

一度 nginxpkill で終了し、再起動することで、設定変更を反映させたい場合などに使われます。


注意点と安全な使い方

pkill はとても便利なコマンドですが、使い方を誤ると必要なプロセスまで終了させてしまう恐れがあります。以下の点に注意しましょう。

  • 確認用として pgrep を使う:
    実行前に、対象プロセスが正しく絞り込めているか確認したい場合は pgrep を使いましょう。 bashコピーする編集するpgrep -fl python
  • スーパーユーザーでの実行は慎重に:
    sudo pkill を使えばroot権限で全プロセスを終了できますが、誤操作でシステムが不安定になるリスクもあります。
  • スクリプトで使う場合はログ出力を:
    処理のログを残すことで、後から問題をトレースしやすくなります。

まとめ

pkill コマンドは、Linuxでのプロセス管理において非常に強力で便利なツールです。
特にプロセス名やパターンで柔軟に指定できる点、ユーザーやコマンドラインの条件で対象を絞り込める点が魅力です。

システム管理やデバッグ作業、自動化スクリプトなど、あらゆるシーンで活躍します。
ただし誤って重要なプロセスを終了させるとトラブルの原因になるため、pgrep などで事前確認を行いながら、安全に運用していくことが大切です。

Linuxにおける日常的な運用管理スキルの一つとして、pkill の活用方法をぜひ身につけてみてください。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。