分叉进程的stdout和stdin会发生什么?

0 投票
1 回答
776 浏览
提问于 2025-04-19 09:34

我明白fork这个函数的意思。它的作用是复制父进程,也就是说在调用fork函数后,父进程会继续执行,而子进程会开始执行。下面是一个用Python代码创建子进程的例子:

import os
pid, master_fd =os.forkpty()
if pid == 0:
    print ('child')
else:
   print ('parent') 

那么,为什么“child”这个词没有被打印出来呢?

1 个回答

2

这里提到的“child”(子进程)这个词没有出现,是因为 os.forkpty() 这个函数会创建一个新的伪终端,并把子进程的输出发送到这个伪终端上。

如果你用的是 os.fork() 这个函数,那么你的理解就是正确的。

撰写回答