ps・top・killの使い方 - Linuxプロセス管理入門

ps・top・killの使い方 - Linuxプロセス管理入門

Linuxを触っていると、次のような場面に必ず出会います。

  • コマンドが返ってこない
  • CPU使用率が急に上がった
  • どのプロセスが動いているのか分からない

この記事では、プロセス管理の基本操作を「暗記」ではなく「判断できる」状態になることを目標にします。

先に結論:プロセス管理の判断の型

プロセスで困ったら、次の順で確認

  1. いま何が動いているかを見る
  2. 負荷や状態を確認する
  3. 必要な場合のみ、穏やかに止める

いきなり kill しないことが、事故を防ぐ一番のポイントです。

プロセスとは何か(最低限)

結論: プロセスは実行中プログラムそのもので、実行のたびに変わるPIDで管理されるため誤操作防止に理解が必要だ。

プロセスとは、実行中のプログラムそのものです。 同じコマンドでも、実行されるたびに別のプロセスとして扱われます。

覚えておくべきポイント

  • 各プロセスには PID(プロセスID) が割り当てられる
  • PIDは実行のたびに変わる

この「PIDが変わる」という性質を理解していないと、誤った操作につながります。

ps:まず全体を把握する

結論: ps auxでPID・CPU・コマンド名を確認するのがプロセス管理の出発点で全体把握が最優先だ。

基本形

$ ps aux
USER   PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root     1  0.0  0.1 169084  1208 ?        Ss   10:00   0:01 /sbin/init
user  2345 80.2  5.1 512000 42000 ?        R    10:15   2:34 python app.py

見るポイント

  • PID:操作対象になる番号
  • %CPU / %MEM:負荷の目安
  • COMMAND:何が動いているか

top:いま重い原因をリアルタイムで見る

結論: topでload averageと高CPU占有プロセスをリアルタイム確認し、原因候補を特定してから判断する。

実行

$ top

よく見る項目

  • 上部の load average
  • プロセス一覧の %CPU

判断例

  • load average が高い → CPUが混雑している
  • 特定プロセスの %CPU が高い → 原因候補

top は q キーで終了できます。

よくある詰まり①:CPU100%=即 kill してしまう

結論: CPU100%でも即kill-9は禁物で、後処理スキップによるデータ破損リスクがあるため様子見が先決だ。

よくある誤解

$ kill -9 2345

この操作は、

  • 後処理が走らない
  • データ破損や不整合を起こす

可能性があります。

CPUが高い理由が一時的な処理であることも多いため、まずは様子を見る判断が重要です。

kill:安全な止め方を理解する

結論: killは穏やかなSIGTERM(kill PID)が基本で、応答なしの場合のみSIGKILL(kill -9)を使う。

基本(穏やかに止める)

$ kill 2345

これは SIGTERM を送ります。 プロセスに「終了してください」と依頼するイメージです。

強制終了(最終手段)

$ kill -9 2345
  • どうしても止まらない場合のみ使用
  • 常用しない

よくある詰まり②:別のプロセスを止めてしまう

結論: grepで自分のプロセスが混ざりPIDを見間違えるミスを防ぐため、必ずCOMMAND名を確認してから止める。

注意が必要なパターン

$ ps aux | grep python
$ kill 1234
  • grep 自身が表示されている
  • PIDを見間違える

対策

  • COMMAND を必ず確認
  • PIDだけで判断しない

プロセスが増え続けるときの考え方

結論: プロセスが増え続ける場合はいきなり止めず自動起動・cron・親プロセスを確認して再発防止を先に考える。

確認すべきポイント

  • 自動起動している?
  • 定期実行(cronなど)ではない?
  • 親プロセスは何か?

いきなり止めるのではなく、なぜ増えているかを考えることで再発を防げます。

実践例:安全に確認して止める手順

結論: ps→top→killの順を守ることで状況把握→判断→操作の流れを崩さず誤操作を防げる。

推奨手順

$ ps aux          # 1. 全体把握
$ top             # 2. 負荷確認
$ kill 2345       # 3. 穏やかに終了

この順番を守るだけで防げること

  • 誤操作
  • 不要な強制終了

なぜこの手順が安全なのか

  • 状況把握 → 判断 → 操作、の順になる
  • PIDの取り違えを防げる
  • 一時的な負荷を誤って止めにくい

プロセス管理は「急がない」ことが安全につながります。

次に読む

結論: 次ステップはLPIC-1学習ハブやプロセス管理実践でkill・top・psの応用パターンを身につけることだ。