使用管道在父进程和子进程之间进行通信的Python程序。

使用fork是创建子进程的最简单方法。fork()是os标准Python库的一部分。

在这里,我们使用来解决此任务pipe()。为了将信息从一个过程传递到另一个过程pipe()。对于双向通讯,可以使用两个管道,每个方向一个管道,因为它pipe()是单向的。

算法

Step 1: file descriptors r, w for reading and writing.

Step 2: Create a process using the fork.

Step 3: if process id is 0 then create a child process.

Step 4: else create parent process.

范例程式码

import os 

def parentchild(cwrites): 

   r, w = os.pipe() 

   pid = os.fork() 

   if pid: 

      os.close(w) 

      r = os.fdopen(r) 

      print ("Parent is reading") 

      str = r.read() 

      print( "Parent reads =", str) 

   else: 

      os.close(r) 

      w = os.fdopen (w, 'w') 

      print ("Child is writing") 

      w.write(cwrites) 

      print("Child writes = ",cwrites) 

      w.close() 

# Driver code         

cwrites = "Python Program"

parentchild(cwrites)

输出结果

Child is writing

Child writes = Python Program

Parent is reading

Parent reads = Python Program

以上是 使用管道在父进程和子进程之间进行通信的Python程序。 的全部内容, 来源链接: utcz.com/z/343581.html

回到顶部