4 プロセスの実行 Web サーバには CGI をサポートし、外部のプログラムを実行できるようになっているものが多い。 今回はプログラム中から他のプログラムを実行する exec システムコールについて解説する。 exec システムコール exec システムコールは、そのシステムコールを呼びだしたプロセス上で、別なプログラムの実行を開始するためのシステムコールである。 このため、そのプロセスでそれまで実行されていたプログラムは破棄され、システムコール呼び出しがリターンすることはありえない。 exec() を使う典型的なプログラムは shell である。 Shell はコマンドとして入力されたプログラムを実行するのに、fork() によって新しいプロセスを作り、そのプロセス上で exec() を実行、そのプログラムを実行する。 ↓ fork() ------- | | 親プロセス 子プロセス