http://www.ibm.com/developerworks/cn/linux/kernel/syscall/part3/【转】
下面就让我用一些形象的比喻,来对进程短暂的一生作一个小小的总结:
随着一句fork,一个新进程呱呱落地,但它这时只是老进程的一个克隆。
然后随着exec,新进程脱胎换骨,离家独立,开始了为人民服务的职业生涯。
人有生老病死,进程也一样,它可以是自然死亡,即运行到main函数的最后一个"}",从容地离我们而去;
也可以是自杀,自杀有2种方式,一种是调用exit函数,一种是在main函数内使用return,无论哪一种方式,
它都可以留下遗书,放在返回值里保留下来;
它还甚至能可被谋杀,被其它进程通过另外一些方式结束他的生命。进程死掉以后,会留下一具僵尸,
wait和waitpid充当了殓尸工,把僵尸推去火化,使其最终归于无形。
这就是进程完整的一生。