現場実践|Linuxプロセス管理

Linuxのプロセス管理とsystemd入門|ps・top・kill・systemctlの実践

「サーバーが重い原因のプロセスをどう特定する?」「サービスの自動起動を設定したい」——Linuxのプロセス管理コマンド(ps・top・htop・kill)とsystemdによるサービス管理の実践方法を解説します。

読了目安:約18分更新日:2026年3月

💡 Linuxのプロセス管理はサーバー運用の基本中の基本。「サーバーがCPU 100%になった」「サービスが止まっている」という事象への対応には、プロセス管理コマンドとsystemdの知識が必須です。

この記事を書いた人
現役ITエンジニア・IT講師(経験14年)
CCNA・CCNP 取得LPIC-1 保有SES現場を複数経験

Linuxサーバーの運用・障害対応を多数担当してきた立場から解説します。

1. プロセスの確認コマンド

# 全プロセスを確認
ps aux

# CPU使用率の高いプロセスを表示(降順)
ps aux --sort=-%cpu | head -10

# メモリ使用率の高いプロセスを表示(降順)
ps aux --sort=-%mem | head -10

# リアルタイムでプロセスを監視(top)
top
# h: ヘルプ, q: 終了, k: プロセスkill, r: renice

# より見やすいhtop(インストール必要)
htop

2. systemctlによるサービス管理

# サービスの起動・停止・再起動
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
systemctl reload nginx  # 設定ファイルのリロード(無停止)

# サービスの状態確認
systemctl status nginx

# 自動起動の設定・解除
systemctl enable nginx
systemctl disable nginx

# 全サービスの一覧
systemctl list-units --type=service

3. プロセスの強制終了

  • kill -15(SIGTERM):プロセスに正常終了を要求する。まずこれを試す。アプリケーションが終了処理を実行してから終了する
  • kill -9(SIGKILL):プロセスを強制終了する。SIGTERM で終了しない場合の最終手段。終了処理なしで強制終了するため、DBのデータ破損リスクがある
  • pkill・killall:プロセス名でkillする。「pkill nginx」でnginxの全プロセスを終了できる

4. ゾンビプロセスの対処

ゾンビプロセスは「終了したが親プロセスが終了ステータスを回収していない」プロセスです。ps auxコマンドで「Z(Zombie)」と表示されます。ゾンビプロセス自体はリソースを消費しませんが大量発生するとプロセステーブルを圧迫します。ゾンビの親プロセスを再起動またはkillすることで解消できます。

📌 この記事のポイント
  • ps aux –sort=-%cpuでCPU使用率が高いプロセスを即座に特定する
  • systemctlのstart/stop/restart/enable/disableがLinuxサービス管理の基本5コマンド
  • killはまずSIGTERM(-15)で試してから、応答しない場合のみSIGKILL(-9)を使う

キャリアの疑問、一緒に解決しませんか?

Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。

※コマンドはLinuxのバージョン・ディストリビューションにより異なります。

ABOUT ME
たから
サラリーマンをしながら開業して経営やってます。 今年、本業で独立・別事業を起業予定です。 ◆経験:IT講師/インフラエンジニア/PM/マネジメント/採用/運用・保守・構築・設計 ◆取得資格:CCNA/CCNP/LPIC-1/AZ-900/FE/サーティファイC言語 ◆サイドビジネス:経営/個人事業/アパレル