我一直在试图弄清楚fork exec机制在Linux中是如何使用的.一切都按照计划进行,直到一些网页开始让我困惑.
据说子进程应该严格使用_exit()
,而不是简单的exit()
或main()
的正常返回.
据我所知,Linux shellForking 执行每个外部命令;假设我上面所说的是真的,那么结论是这些外部命令或Linux shell内部发生的任何其他执行都不能正常返回!
维基百科;其他一些网页声称,我们必须使用_exit()
,只是为了防止子进程删除父进程的临时文件,同时可能会发生stdio缓冲区的双重刷新.虽然我理解前者,但我不知道缓冲区的双重刷新如何对Linux系统有害.
我一整天都在这上面...