正如维基百科在此处所述:“进行生成调用时打开的文件在子进程中保持打开状态”。(非常类似于exec())
好的,操作系统已经打开了一些文件并为我们新出生的不知情的进程做好了准备。假设我们的进程不知道那些先前打开的文件并最终决定终止;而像 C 这样的编程语言需要在终止之前清理一些内部进程。
我的问题是,这种清理会以任何方式影响那些打开的文件吗?AFAIK 他们没有在任何地方注册,也没有在流程本身的任何地方注册。
答案应该以某种方式定义程序员在终止 spawn()ed 进程(甚至是 exec()ed 进程)时的行为。一个完整的清理程序会以任何方式伤害父母吗?(例如通过删除临时文件),因此程序员不应该使用_exit()而不是exit()吗?