博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python管道pipe
阅读量:7043 次
发布时间:2019-06-28

本文共 695 字,大约阅读时间需要 2 分钟。

1.什么是管道

Linux进程间通信方式的一种,管道有两端,读端和写端。创建管道,然后从父进程fork出子进程,
父进程和子进程拥有共同的读写文件描述符,可以实现子进程写文件,父进程读文件的操作。
示意图如下:
300946-20171126173021468-547066071.png

2.具体操作

子进程关闭读端,父进程关闭写端,子进程负责写,父进程负责读。
代码示例如下:

import os, time, syspipe_name = 'pipe_test'def child( ):    pipeout = os.open(pipe_name, os.O_WRONLY)    counter = 0    while True:        time.sleep(1)        os.write(pipeout, 'Number %03d\n' % counter)        counter = (counter+1) % 5def parent( ):    pipein = open(pipe_name, 'r')    while True:        line = pipein.readline()[:-1]        print 'Parent %d got "%s" at %s' % (os.getpid(), line, time.time( ))if not os.path.exists(pipe_name):    os.mkfifo(pipe_name)  pid = os.fork()    if pid != 0:    parent()else:           child()

运行结果:

300946-20171126173001546-926408339.png

转载地址:http://xeqal.baihongyu.com/

你可能感兴趣的文章
货物管理系统(数据结构链式表)
查看>>
确保页面中JS加载完全
查看>>
angular 的 @Input、@Output 的一个用法
查看>>
[CodeChef-QTREE]Queries on tree again!
查看>>
Some remarks on definition 1.1.1,A field guide to algebra
查看>>
Java 字符转换原理
查看>>
介绍我自己---练习类的创建和使用
查看>>
预备作业链接汇总
查看>>
如何解压缩文件
查看>>
隔离级别
查看>>
cookie,seesion学习
查看>>
C++全局常量与变量的定义方法
查看>>
centos 安装php trie_fileter 扩展
查看>>
FatMouse' Trade 贪心
查看>>
DanceLink
查看>>
追梦工作室3月份总结与计划
查看>>
22个所见即所得在线 Web 编辑器
查看>>
ArrayList源码解析
查看>>
Windows7(x86) xampp php5.5 imagick install
查看>>
开发 MFC 应用的一般过程
查看>>