はじめに
Linuxを触っていると、必ず出てくる言葉があります。
-
プロセス
-
PID
-
ps
-
top
なんとなく雰囲気で使っているけど、
-
プロセスって結局なに?
-
プログラムと何が違うの?
-
ps や top は何を見ているの?
ここをちゃんと説明できる人は、意外と少ないです。
この記事では、
-
プロセスとは何か(Linux視点)
-
プログラムとの違い
-
PIDの意味
-
ps / top の正体
を 初心者向けに噛み砕いて 解説します。
プロセスとは何か?
まずは一言で。
プロセスとは「実行中のプログラム」
これがLinuxにおける基本的な考え方です。
プログラムとプロセスの違い
ここが一番重要。
| 用語 | 意味 |
|---|---|
| プログラム | ただのファイル |
| プロセス | 実行中の状態 |
例えば:
これは プログラム(ファイル)。
これを実行した瞬間に、
-
メモリが割り当てられ
-
CPUが使われ
-
実際に動き出す
👉 この状態が プロセス です。
同じプログラムでも、
-
1回実行 → 1プロセス
-
2回実行 → 2プロセス
になります。
Linuxはプロセスで動いている
Linuxでは、
-
コマンド
-
Webサーバー
-
バックグラウンド処理
すべてが プロセス として動いています。
裏側では常に、
「どのプロセスにCPUを使わせるか」
をOSが管理しています。
PIDとは何か?
プロセスには必ず PID が割り振られます。
PID(Process ID)とは、プロセスの識別番号
Linux上では、
-
同時に複数のプロセスが動く
-
どれがどれか区別する必要がある
そのための 番号札 みたいなものです。
PIDの特徴
-
プロセスごとに一意
-
プロセスが終了すると消える
-
再起動すると番号はリセットされる
PID 1 は特別
ちょっと豆知識。
Linuxでは、
PID 1 は最初に起動するプロセス
昔は init、
最近は systemd が PID 1 になることが多いです。
👉
PID 1 が止まると、システム全体が危険。
psコマンドの正体
これは何をしているのか。
今動いているプロセスの一覧を表示するコマンド
です。
よく見る形
これは、
-
a:他ユーザーのプロセスも表示 -
u:ユーザー情報付き -
x:制御端末を持たないプロセスも表示
という意味。
👉
Linux上のプロセス一覧をスナップショットで見る
のが ps。
topコマンドの正体
これもプロセスを見るコマンドですが、
psとは役割が少し違います。
リアルタイムでプロセスの状態を監視する
のが top。
topで分かること
-
CPU使用率
-
メモリ使用量
-
実行時間
-
プロセス数
👉
「今、何が重いのか」を調べるときに使います。
ps と top の違い
| コマンド | 特徴 |
|---|---|
| ps | 一瞬の状態を表示 |
| top | リアルタイム監視 |
実務では、
-
原因調査 → top
-
状態確認・抽出 → ps
という使い分けが多いです。
プロセスとバックグラウンド実行の関係
ここで、前の記事と自然に繋がります。
-
&でバックグラウンド実行 -
jobsでジョブ管理 -
実体は プロセス
jobsが見ているのは「ジョブ」ですが、
裏では必ず プロセスが動いている。
👉
ジョブ ≠ プロセス
という点も、ここで軽く触れておくと理解が深まります。
なぜLinuC試験でプロセスが重要なのか
LinuCでは、
-
プロセス管理
-
PID
-
ps / top / kill
が頻出です。
暗記ではなく、
「Linuxはプロセスの集合体」
という考え方を理解しているかが問われます。
まとめ
-
プロセスは「実行中のプログラム」
-
プログラムはファイル、プロセスは動作中
-
PIDはプロセスを識別する番号
-
psは一覧表示、topはリアルタイム監視
-
Linuxはプロセスで成り立っている
この概念が分かると、
-
バックグラウンド実行
-
kill
-
サーバー運用
の理解が一気に楽になります。



コメント