当前位置: 首页 > news >正文

爱站seo工具包免费版1688网站如何运营

爱站seo工具包免费版,1688网站如何运营,山东省住房和城乡建设厅厅长,百度广告联盟官网入口匿名管道管道是一个单向通道,有点类似共享内存缓存.管道有两端,包括输入端和输出端.对于一个进程的而言,它只能看到管道一端,即要么是输入端要么是输出端.os.pipe()返回2个文件描述符(r, w),表示可读的和可写的.示例代码如下:复制代码 代码如下:#!/usr/bin/pythonimport timeim…匿名管道管道是一个单向通道,有点类似共享内存缓存.管道有两端,包括输入端和输出端.对于一个进程的而言,它只能看到管道一端,即要么是输入端要么是输出端.os.pipe()返回2个文件描述符(r, w),表示可读的和可写的.示例代码如下:复制代码 代码如下:#!/usr/bin/pythonimport timeimport osdef child(wpipe):print(hello from child, os.getpid())while True:msg how are you\n.encode()os.write(wpipe, msg)time.sleep(1)def parent():rpipe, wpipe os.pipe()pid os.fork()if pid 0:child(wpipe)assert False, fork child process error!else:os.close(wpipe)print(hello from parent, os.getpid(), pid)fobj os.fdopen(rpipe, r)while True:recv os.read(rpipe, 32)print recvparent()输出如下:复制代码 代码如下:(hello from parent, 5053, 5054)(hello from child, 5054)how are youhow are youhow are youhow are you我们也可以改进代码,不用os.read()从管道中读取二进制字节,而是从文件对象中读取字符串.这时需要用到os.fdopen()把底层的文件描述符(管道)包装成文件对象,然后再用文件对象中的readline()方法读取.这里请注意文件对象的readline()方法总是读取有换行符\n的一行,而且连换行符也读取出来.还有一点要改进的地方是,把父进程和子进程的管道中不用的一端关闭掉.复制代码 代码如下:#!/usr/bin/pythonimport timeimport osdef child(wpipe):print(hello from child, os.getpid())while True:msg how are you\n.encode()os.write(wpipe, msg)time.sleep(1)def parent():rpipe, wpipe os.pipe()pid os.fork()if pid 0:os.close(rpipe)child(wpipe)assert False, fork child process error!else:os.close(wpipe)print(hello from parent, os.getpid(), pid)fobj os.fdopen(rpipe, r)while True:recv fobj.readline()[:-1]print recvparent()输出如下:复制代码 代码如下:(hello from parent, 5108, 5109)(hello from child, 5109)how are youhow are youhow are you如果要与子进程进行双向通信,只有一个pipe管道是不够的,需要2个pipe管道才行.以下示例在父进程新建了2个管道,然后再fork子进程.os.dup2()实现输出和输入的重定向.spawn功能类似于subprocess.Popen(),既能发送消息给子进程,由能从子子进程获取返回数据.复制代码 代码如下:#!/usr/bin/python#codingutf-8import os, sysdef spawn(prog, *args):stdinFd sys.stdin.fileno()stdoutFd sys.stdout.fileno()parentStdin, childStdout os.pipe()childStdin, parentStdout os.pipe()pid os.fork()if pid:os.close(childStdin)os.close(childStdout)os.dup2(parentStdin, stdinFd)#输入流绑定到管道,将输入重定向到管道一端parentStdinos.dup2(parentStdout, stdoutFd)#输出流绑定到管道,发送到子进程childStdinelse:os.close(parentStdin)os.close(parentStdout)os.dup2(childStdin, stdinFd)#输入流绑定到管道os.dup2(childStdout, stdoutFd)args (prog, ) argsos.execvp(prog, args)assert False, execvp failed!if __name__ __main__:mypid os.getpid()spawn(python, pipetest.py, spam)print Hello 1 from parent, mypid #打印到输出流parentStdout, 经管道发送到子进程childStdinsys.stdout.flush()reply raw_input()sys.stderr.write(Parent got: %s\n % reply)#stderr没有绑定到管道上print Hello 2 from parent, mypidsys.stdout.flush()reply sys.stdin.readline()#另外一种方式获得子进程返回信息sys.stderr.write(Parent got: %s\n % reply[:-1])pipetest.py代码如下:复制代码 代码如下:#codingutf-8import os, time, sysmypid os.getpid()parentpid os.getppid()sys.stderr.write(child %d of %d got arg: %s\n %(mypid, parentpid, sys.argv[1]))for i in range(2):time.sleep(3)recv raw_input()#从管道获取数据,来源于父经常stdouttime.sleep(3)send Child %d got: [%s] % (mypid, recv)print(send)#stdout绑定到管道上,发送到父进程stdinsys.stdout.flush()输出:复制代码 代码如下:child 7265 of 7264 got arg: spamParent got: Child 7265 got: [Hello 1 from parent 7264]Parent got: Child 7265 got: [Hello 2 from parent 7264]
http://www.zqtcl.cn/news/773350/

相关文章:

  • 成都成华网站建设跟网站开发公司签合同主要要点
  • 手机搭建平台网站化工厂建设网站
  • 怎样建设自己网站的后台龙港哪里有做百度网站的
  • 西安做网站建设哪家好2345网址导航电脑版下载
  • 做暧暧小视频网站十大职业资格培训机构
  • 泰安网站建设优化营销策划是做什么
  • 做网站百度排前位网页设计实训报告2000字
  • 网站建设的活动方案房地产销售渠道拓客方案
  • 哈尔滨网站提升排名版式设计图片
  • 我的专业网站建设策划书网站logo教程
  • 百度 网站 移动端win10系统之家官网
  • h5商城网站建站成都网站建设全平台
  • xuzhou公司网站制作有什么手机网站
  • 网站建设 培训深圳网站建设制作品牌公司
  • 网站到期怎么续费网站运营优化推广
  • 一站式装修的利弊上海建设厅焊工证查询网站
  • 济宁做网站公司找融合深圳招聘一般在哪个网站
  • 重庆建网站推广公司个人网站需要建站群吗
  • 深圳网站建设吗个人博客网站制作代码
  • 化妆品网站模板网络营销的网站分类有哪些
  • 广州网站建设程序员培训wordpress 微信 抓取
  • 毕设给学校做网站个人店铺logo
  • 中国做w7的网站宿迁网站建设价位
  • 网站建设售后服务合同百度关键词排名点击器
  • 编辑网站用什么软件推广是什么
  • 北京模板开发建站做网站赚钱的点在哪里
  • 网站建设价格兴田德润i网址多少wordpress主题汉化是什么意思
  • 用最少的钱做网站根据域名查询网站名称
  • 网站开发答辩难点网站返回按钮设计
  • 鹤壁做网站优化建设银行理财产品网站