2012年1月

fork 作用是建立一个子进程,父子进程之间在fork()之后分道扬镳,子进程会获得一个父进程数据的副本。

在fork语句之前,printf有没有增加"\n"是非常重要的。如果没有"\n"那么printf的内容会写入显示缓冲,那么fork之后,子进程也会获得这个缓冲,所以如果在fork之前有printf,并且没有增加 "\n" 那么最后同样的内容,子进程和父进程会都打印一遍。

但是如果增加了 "\n" 就是立即显示了,那么子进程就不会有相应的显示缓冲,所以只会打印一遍.