Python中采用命名管道来做多进程通信

来源:互联网 发布:淘宝外贸尾单可信吗 编辑:程序博客网 时间:2024/05/03 05:25



进程A: 创建一个命名管道,在该管道上等待事件通知


进程B:打开上述命名管道,写入数据并关闭之,测试中发现,进程B不关闭命名管道的话, 数据不会被发送到进程A



进程A的代码:


>>> import os, select

>>> os.mkfifo('/tmp/tid_1')

>>> fd = os.open('/tmp/tid_1', os.O_NONBLOCK | os.O_RDONLY)

>>> p = select.poll()


>>> p.register(fd, select.POLLIN)

>>> events = p.poll(12000)

>>> if((len(events)) and (events[0][1] & select.POLLIN))

          # 处理这个事件

>>> os.unlink('/tmp/tid_1')



进程B的代码:

>>> wp = open('/tmp/tid_1','w')
>>> wp.write('1')
>>> wp.close()


原创粉丝点击