python使用os.fork()
想问一下,为什么这里if和else都会被执行呀
回答:
执行fork前,你只有一个 python 进程。
执行 fork 时,操作系统会复制整个进程。
操作系统复制完,在复制出来的进程返回 0,在原进程返回复制出来的进程的 PID 。
下图中,方框左下角的数字,是方框所属进程的 PID 。
回答你的问题,实际发生的事情是 fork 产生的进程执行了 if 分支,原进程执行了 else 分支。
回答:
第二行的注释是错误的,获取的是父进程的进程号。
父进程和子进程都会执行 os.fork
后的所有代码,而 os.fork
的返回值可以用来判断是父进程还是子进程。
由于子进程和父进程都会执行位于 os.fork
后的 if...else...
块,所以在父进程中输出了第七行,在子进程中输出了第五行。
以上是 python使用os.fork() 的全部内容, 来源链接: utcz.com/p/938161.html