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

現場実践|Linuxプロセス管理
Linuxのプロセス管理とsystemd入門|ps・top・kill・systemctlの実践
「サーバーが重い原因のプロセスをどう特定する?」「サービスの自動起動を設定したい」——Linuxのプロセス管理コマンド(ps・top・htop・kill)とsystemdによるサービス管理の実践方法を解説します。
💡 Linuxのプロセス管理はサーバー運用の基本中の基本。「サーバーがCPU 100%になった」「サービスが止まっている」という事象への対応には、プロセス管理コマンドとsystemdの知識が必須です。
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(インストール必要)
htop2. 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=service3. プロセスの強制終了
- 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月からフリーランス講師として本格始動予定です。
ABOUT ME




