fork()是一个系统调用函数。该系统调用复制当前进程,并在进程表中创建一个与原进程(被称为父进程)几乎完全一样的新表项,并执行同样的代码,但该新进程(这里被称为子进程)拥有自己的数据空间和环境参数。创建新进程的主要用途在于在新进程中使用exec()簇函数去执行其他不同的程序。
     fork()调用返回位置处,父进程将恢复执行,而子进程则开始执行。在父进程中,调用fork()返回的是子进程的进程标识号PID,而在子进程中fork()返回的将是0值,这样,虽然此时还是在同样一程序中执行,但已经开始叉开,各自执行自己的那段代码。如果fork()调用失败,则返回小于0的值。
     当程序执行完或有必要终止时就可以调用exit()来退出程序的执行。该函数会终止进程并释放其占用的内核资源。而父进程则可以使用wait()调用来查看或等待子进程的退出,并获取被终止进程的退出状态信息。