クラウド・インフラの用語一覧へ
このページの目次

プロセスとは?

読み方:プロセス

最終更新:2026/08/18

3秒でわかる

OSがメモリやCPUを割り当てて実行しているプログラムの単位。同じコマンドを2回動かせば別のプロセスになり、それぞれ独立したメモリ空間を持ちます。

もう少し詳しく

どういうものか

プロセスとは、ディスク上のプログラム(実行ファイル)が OS に読み込まれて実際に動いている状態のことです。OS はプロセスごとに専用のメモリ空間、開いているファイルの一覧、実行状態を管理し、PID という番号を割り当てます。

同じ python app.py を 2 つの端末で起動すれば、プログラムは 1 つでもプロセスは 2 つです。片方が変数を書き換えても、もう片方には影響しません。

なぜ必要か

もしすべてのプログラムが同じメモリを共有していたら、1 本のバグが他のすべてを巻き添えにします。プロセスという境界があるおかげで、異常終了した Web サーバーがデータベースを道連れにすることはありません。

サーバー運用でプロセスを理解していると、「重いのは誰のせいか」「なぜポートが使用中と言われるのか」「終了したはずのアプリがまだ動いているのはなぜか」を切り分けられます。Linux の障害対応で最初に見るのはたいていプロセスです。

具体例

ps aux | grep nginx        # 動いているプロセスを探す
top                        # CPU 使用率の高い順に眺める
lsof -i -P -n | grep 8080  # ポート 8080 を掴んでいるプロセスを特定
kill 12345                 # PID 12345 に終了を依頼する (SIGTERM)
kill -9 12345              # 応じない場合に強制終了する (SIGKILL)
systemctl status nginx     # サービスとして管理されているプロセスの状態

ps の出力で見える PPID は親プロセスの PID です。プロセスは必ず親から生まれ、init(systemd)を根とする木構造になっています。

つまずきやすいところ

  • いきなり kill -9 を使う — SIGKILL はプロセスに後始末をさせずに落とすため、書きかけのファイルやロックが残ります。まず kill(SIGTERM)で頼み、駄目なときだけ -9 にします

  • 端末を閉じたらプログラムも止まる — 端末から起動したプロセスは端末の子なので一緒に終わります。常駐させるなら systemd のサービスにします

  • ゾンビプロセスを異常だと思う — 終了済みで親が終了状態を回収していないだけの残骸です。CPU もメモリも使いません。増え続ける場合だけ親のプログラムを疑います

  • スレッドと混同する — top で見える使用率が 100% を超えるのは、複数のコアで複数スレッドが動いているためです
  • 似た用語との違い

    用語中身メモリ
    プログラムディスク上のファイル。まだ動いていない持たない
    プロセス実行中の実体。PID を持つ独立した空間を持つ
    スレッドプロセス内の実行の流れ同じプロセス内で共有する
    ジョブシェルが管理する実行単位。jobs で見えるプロセスに紐づく


    覚え方

    プログラムはレシピ、プロセスは実際に作っている料理と考えます。同じレシピから同時に 2 皿作れば、鍋も材料も別々です。

    知識のつながり

    サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

    現在地プロセスインフラ

    LEARN BY DOING

    この用語を、教材で使ってみる

    直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

    このコースが入っている学習分野

    Linuxコースの全編を見る