如果我fork()用来生成子进程,那么一旦父进程终止,子进程会自动终止吗?或者必须编程吗?
fork()
这不是真正的问题,这是一个O/S问题.
在Windows中,进程将继续,直到它调用ExitProcess或执行了足够的CPU RET,并且调用堆栈中没有任何内容.
ExitProcess
在Unix中,该过程将继续并作为子进程运行init.
init
在两个O/S上,具有足够权限的用户可以终止该进程.
另一方面,线程是另一回事 - 它们将在进程终止时终止.