Python主进程和子进程的问题,很有意思

两段代码,让我陷入困惑 ...

  1. 在这段代码中主进程先于子进程结束,然后跳出,过了两秒,子进程执行并出结果

图片描述

2.下面这段代码 , 一共生成3个进程, 主进程执行结束,不等待子进程. 程序直接跳出.

图片描述

那么问题来了,子进程到底依赖不依赖主进程的存在? 为什么这两段代码会有不同的表现 ? 求大神解答.

回答:

首先回答你的问题:程序主进程退出之后,其子进程或子线程都会终止。

在简单说下你上面的例子的线程:
1,os.fork是个比较特殊的方法,一般函数都是一次调用一次返回,但是它不同,它是一次调用两次返回(一次在主进程一次在子进程),所以你看到print('main')执行之后,其实主进程还没有退出(可以将sleep时间加大,然后通过ps命令查看);
2,第二个例子就很好的说明了:程序主进程退出之后,其子进程或子线程都会终止。

以上是 Python主进程和子进程的问题,很有意思 的全部内容, 来源链接: utcz.com/a/161659.html

回到顶部