python-无名管道进程通信

Posted 橙云生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-无名管道进程通信相关的知识,希望对你有一定的参考价值。

 1 #!/usr/bin/python
 2 #coding=utf-8
 3 import sys,os
 4 from time import sleep
 5 
 6 (r,w)=os.pipe()   #创建无名管道,返回两个整数,代表两个管道文件,且代表的功能是(r,w)
 7 pid=os.fork()
 8 
 9 if pid<0:
10     print "fail to fork"
11 elif pid==0:
12     print "child",os.getpid()
13     os.close(w)   #关闭文件描述符
14     r=os.fdopen(r,"r") #把底层的文件描述符转换为文件对象。
15     while True:
16         buf=r.readline()
17         print "buf:",buf
18         sys.stdout.flush()
19     print "child close"
20 else:
21     print "parent:",os.getpid()
22     os.close(r)
23     w=os.fdopen(w,w)
24     while True:
25         buf=sys.stdin.readline()
26         w.write(buf)
27         w.flush()
28 #无名管道是不会创建实体文件

 

以上是关于python-无名管道进程通信的主要内容,如果未能解决你的问题,请参考以下文章

linux 进程间通信机制(IPC机制)- 管道

进程间通信的方式

Linux系统编程进程间通信之无名管道

进程间通信(无名管道)

linux进程间通信之一:无名管道

进程之间通信之有名管道无名管道(pipe),笔记