
新Linux入門|プロセス操作
Linuxでは、実行中のすべてのプログラムは「プロセス」として管理されています。
アプリケーション、サービス、バックグラウンドタスク、そしてあなたが入力したコマンド一つひとつもすべてプロセスです。
システムの安定運用やトラブル対応を行うためには、
「どんなプロセスが動いているのか」「CPUやメモリをどれくらい使っているのか」「不要なプロセスを止める」
といった操作が欠かせません。
ここでは、プロセスの確認・監視・終了・優先度変更など、
日常的によく使われるプロセス操作のコマンドを紹介します。

⚙️ プロセスとは
プロセスとは、「実行中のプログラムの実体」のことです。
それぞれのプロセスは、OSから一意の番号(PID:プロセスID)を割り当てられています。
このPIDを基準に、システムはプロセスを監視したり制御したりします。
たとえば、次のように ps コマンドを使うと、現在実行中のプロセスを確認できます。
[suzuki@AlmaLinux ~]$ ps
PID TTY TIME CMD
2450 pts/0 00:00:00 bash
2462 pts/0 00:00:00 ps🧰 プロセス操作の代表的なコマンド一覧
| コマンド | 主なオプション | 説明 |
|---|---|---|
| ps | -e, -f, -aux | 実行中のプロセス情報を表示する。 |
| top | -p [PID] | プロセスのリアルタイムな状態を表示する。 |
| kill | -9, -SIGTERM, -SIGKILL, -l | 指定したプロセスを終了させる。 |
| pkill | -f, -u [ユーザー名] | 名前やユーザーに基づいてプロセスを終了させる。 |
| pgrep | -u [ユーザー名] | プロセス名やユーザーからPIDを検索する。 |
| renice | -n [優先度] | 実行中のプロセスの優先度を変更する。 |
これらを組み合わせることで、Linuxの「動いている中身」を自在に管理できます。
🧩 psコマンド(プロセス情報の表示)
現在実行中のプロセスを確認する基本コマンドです。
システム全体の状況を把握する第一歩になります。
コマンド書式
ps [オプション]主なオプション
| オプション | 説明 |
|---|---|
| -e | システム全体のすべてのプロセスを表示 |
| -f | フルフォーマットで表示(親子関係やコマンド名など) |
| -aux | すべてのユーザーのプロセスを詳細表示(BSD形式) |
使用例
[suzuki@AlmaLinux ~]$ ps -ef | head -5
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 08:00 ? 00:00:03 systemd
root 2 0 0 08:00 ? 00:00:00 kthreadd
root 3 2 0 08:00 ? 00:00:00 rcu_gp
suzuki 2850 2440 0 10:12 pts/0 00:00:00 bash💡 UID はユーザー名、PPID は親プロセスのIDです。
📊 topコマンド(プロセスのリアルタイム監視)
top は、CPUやメモリの使用状況をリアルタイムに表示するコマンドです。
システム負荷の把握に最適です。
コマンド書式
top [-p PID]主な操作キー(実行中に入力できる)
| キー | 機能 |
|---|---|
| q | 終了 |
| k | プロセスの終了(kill) |
| r | プロセス優先度(nice値)の変更 |
| P | CPU使用率順に並び替え |
| M | メモリ使用量順に並び替え |
使用例
[suzuki@AlmaLinux ~]$ top
top - 10:35:40 up 2:21, 2 users, load average: 0.03, 0.06, 0.00
Tasks: 125 total, 1 running, 124 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.0 us, 0.2 sy, 0.0 ni, 98.7 id, 0.0 wa, 0.0 hi, 0.1 si
MiB Mem : 3948.6 total, 1024.8 free, 865.4 used, 2058.4 buff/cache
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2850 suzuki 20 0 11840 3544 3124 S 0.3 0.1 0:00.05 bash
2891 suzuki 20 0 14120 2328 1984 R 0.3 0.0 0:00.03 top💬 top は動的に更新されるため、負荷変化をリアルタイムで確認できます。
🔫 killコマンド(プロセスの終了)
特定のプロセスを終了させたいときに使います。
PIDを指定して、シグナルを送信することで終了させます。
コマンド書式
kill [オプション] PID主なオプション
| オプション | 説明 |
|---|---|
| -9 | 強制終了(SIGKILL) |
| -SIGTERM | 通常の終了要求(デフォルト) |
| -SIGKILL | 強制終了要求 |
| -l | 使用可能なシグナル一覧を表示 |
使用例
[suzuki@AlmaLinux ~]$ ps -ef | grep sleep
suzuki 2950 2850 0 10:42 pts/0 00:00:00 sleep 100
[suzuki@AlmaLinux ~]$ kill -9 2950💡 注意: 強制終了(-9)は、データ破損の危険があるため最後の手段として使いましょう。
🔍 pgrepコマンド(PIDの検索)
プロセス名やユーザー名を基に、対応するPIDを検索します。
コマンド書式
pgrep [オプション] プロセス名主なオプション
| オプション | 説明 |
|---|---|
| -u [ユーザー名] | 指定ユーザーのプロセスを検索 |
使用例
[suzuki@AlmaLinux ~]$ pgrep bash
2850💬 スクリプトなどで自動的にPIDを取得したいときにも便利です。
💥 pkillコマンド(名前でプロセスを終了)
kill がPIDを指定するのに対し、pkill は名前やユーザー名でまとめて終了できます。
コマンド書式
pkill [オプション] プロセス名主なオプション
| オプション | 説明 |
|---|---|
| -f | 正規表現でプロセスを指定 |
| -u [ユーザー名] | 指定ユーザーのプロセスを終了 |
使用例
[root@AlmaLinux ~]# pkill -u suzuki firefox💡 特定ユーザーのプロセスを一括停止したい場合に便利です。
⚖️ reniceコマンド(優先度の変更)
実行中のプロセスの「nice値」を変更し、CPUの使用優先度を調整します。
値が低いほど優先度が高く、値が高いほど優先度が低くなります。
コマンド書式
renice [オプション] PID主なオプション
| オプション | 説明 |
|---|---|
| -n [優先度] | 新しいnice値を指定する。 |
使用例
[root@AlmaLinux ~]# renice -n 10 2850
2850 (process ID) old priority 0, new priority 10💬 CPU負荷を軽減したいプロセスに対して有効です。
💬 まとめ
プロセス操作は、システムの安定稼働に欠かせない重要スキルです⚙️
💡 覚えておきたいポイント
- ps でプロセスを確認しよう
- top でリアルタイム監視
- kill / pkill / pgrep でプロセス制御
- renice で優先度を調整
これらをマスターすれば、Linux でのプロセス管理は万全です!
トラブル対応時や負荷調整時にも役立つ、頼れる管理テクニックです😊
