Skip to content

Shinpeim/process-book

Repository files navigation

この文書はなんですか?

この文書は*nix系のシステムにおけるプロセスやシグナルなどについて説明することを目的に書かれました。「プロセスとかよくわかってないからちゃんと知りたいな」みたいなひとたちが想定読者です。

簡単に試すには

このリポジトリをクローンすると、Docker環境で簡単に試すことができます:

git clone https://github.com/Shinpeim/process-book.git
cd process-book

また、Releasesにはビルド済みのPDFファイルが公開されているので、手軽に読みたい場合はそちらをご利用ください。

はじめに:Docker環境の準備

この文書では、実際にコマンドを実行してプロセスの動作を確認することが重要です。統一された環境で学習を進めるため、Dockerコンテナを使用することを推奨します。

前提条件

  • Docker DesktopまたはDockerがインストールされていること
  • docker-composeが使えること

セットアップ手順

Docker イメージをビルド

docker-compose build

コンテナを起動してシェルに入る

# コンテナを起動
docker-compose up -d

# コンテナ内のシェルに入る
docker-compose exec process-book bash

複数ターミナルでの操作について

この文書では、サーバーとクライアントの通信など、複数のターミナルを使用する例が出てきます。その場合は以下のようにして、同じコンテナに複数のシェルでアクセスしてください:

# ターミナル1(サーバー側)
docker-compose exec process-book bash

# ターミナル2(クライアント側)
docker-compose exec process-book bash

終了時の片付け

# コンテナを停止・削除
docker-compose down

注意: 本文中で「ターミナルを開いてコンテナにログインして」と記載されている箇所は、上記の docker-compose exec process-book bash コマンドを実行することを指しています。

目次

導入

プロセスの生成

プロセスとファイル入出力

ファイルディスクリプタ

preforkサーバーを作ってみよう

ゾンビプロセスと孤児プロセス

シグナルとkill

プロセスグループとフォアグランドプロセス

ライセンス

クリエイティブ・コモンズ・ライセンス

この 作品 は クリエイティブ・コモンズ 表示 - 継承 3.0 非移植 ライセンスの下に提供されています。

更新履歴

2025年のアップデート

このプロジェクトは2025年にClaude Codeを使って令和最新版(変更当時)に更新されました。主な改善点:

  • GitHub Pagesでの自動公開
  • HTML生成の改善
  • ビルドプロセスの最適化
  • サンプルコードをRubyに統一
  • よりわかりやすい内容に変更
  • その他の技術的負債の解消

サポート

この文書が役に立ったら、カンパがわりにAmazon wishlistからプレゼントをお待ちしています。

About

Unix系システムのプロセスについて日本語で解説しています

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 16