分叉进程的stdout和stdin会发生什么?
我明白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()
这个函数,那么你的理解就是正确的。