Unix 我想知道fork在以下代码中是如何工作的
在下面的代码中,fork后面没有语句。所以我想知道fork的行为Unix 我想知道fork在以下代码中是如何工作的,unix,process,fork,Unix,Process,Fork,在下面的代码中,fork后面没有语句。所以我想知道fork的行为 int main() { fork(); printf("some print here"); return 1; } 在这种情况下,子进程和父进程会发生什么情况。除非通过检查fork()的返回码并分别应用不同的逻辑来区分父进程和子进程,否则父进程和子进程都将通过打印行并退出来进行相同的处理。父进程id与主进程id相同?若在我们退出main时是这样的话,那个么父进程也将因为不处理子进程而被终止。print
int main()
{
fork();
printf("some print here");
return 1;
}
在这种情况下,子进程和父进程会发生什么情况。除非通过检查
fork()
的返回码并分别应用不同的逻辑来区分父进程和子进程,否则父进程和子进程都将通过打印行并退出来进行相同的处理。父进程id与主进程id相同?若在我们退出main时是这样的话,那个么父进程也将因为不处理子进程而被终止。printf中的语句会被打印吗?你把进程和线程混淆了。执行fork将创建一个具有唯一PID的新进程,该PID将独立于父进程而存在。另一方面,线程属于同一个进程,当进程退出时,所有线程都会终止。父进程和子进程仍将被终止或无限期等待。它们都将终止。