分岐すること。UNIXのシステムコール(UNIX API)の一つで、子プロセスを生成するもの。
プロセスの起動の基本原理は、次のようになる。
子プロセスとしてlsを実行し、結果のステータスを表示するサンプルを以下に例示する。
#include <unistd.h>
#include <sys/types.h>
int main(int argc, char* argv[])
{
pid_t pid;
pid = fork();
if (pid == -1)
{
/* fork失敗。エラー。 */
perror("fork failed.");
}
else if (pid)
{
/* 親プロセス。たとえば単に子を待つ。 */
int status;
wait(&status);
printf("child existed:%d\n", status);
}
else
{
/* 子プロセス。別のプログラムを実行するなど。 */
execl("/bin/ls", NULL);
}
return EXIT_SUCCESS;
}