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

プロセスとは?

読み方:プロセス

最終更新: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 です。プロセスは必ず親から生まれ、initsystemd)を根とする木構造になっています。

つまずきやすいところ

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

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

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

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

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


    覚え方

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

    知識のつながり

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

    現在地プロセスインフラ

    LEARN BY DOING

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

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

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

    この用語を扱うコース

    コース

    Linux入門:コマンド操作のきほん

    68レッスン
    コース

    LinuC レベル1(LPIC-1対応)対策

    62レッスン
    コース

    コンピューターサイエンス:アルゴリズム / OS / ネットワーク / DB

    135レッスン
    Linuxコースの全編を見る