Interprocess Communication (IPC)

UNIX でプログラミングを行っていると必要になってくる Interprocess Communication (IPC) などについて説明します。

序文

UNIX において、「プロセス」「シグナル」「ファイルロック」「セマフォー」「共有メモリ」「ソケット」のプログラミングというのを無視することは出来ません。それらのプログラミングの基本をすこしまとめておきます。

ここで使用するプログラムは、C, C++ 言語の基礎を知っていれば理解できるよう心がけて記述しています。また、説明したい部分に注目するため、細かいエラー処理やセキュリティーに配慮したコーディングは省いています。サンプルでは、バッファオーバーフローに対する処理など行っていないので実際にプログラミングされる場合は注意してください。

サンプルに使ったプログラムは、gcc を使用して Solaris 上でコンパイル/実行しています。

内容

なるべく最新のUNIXに従うようにプログラムを記述していますが、昔のUNIX プログラムの記述をしてしまっているところもあるかもしれません。