我搜索了答案,但我发现的所有线程似乎都建议使用另一种方法来终止子进程:_Exit() 函数。
我想知道是否使用“return 0;” 真正终止子进程?我在我的程序中测试了它(我在父进程中有 waitpid() 来捕获子进程的终止),它似乎工作得很好。
那么有人可以确认这个问题吗?return 语句是否真正终止了类似于 exit 函数的进程,或者它只是发送一个信号,指示调用进程“完成”,而进程实际上仍在运行?
在此先感谢,丹
示例代码:
pid = fork()
if (pid == 0) // child process
{
// do some operation
return 0; // Does this terminate the child process?
}
else if (pid > 0) // parent process
{
waitpid(pid, &status, 0);
// do some operation
}