全方位解读Ruby读写UNIX命名管道

Ruby语言为我们带来了简便灵活的代码编写方式,它可以方便的帮助我们实现许多功能。比如本文要向大家介绍的Ruby读写UNIX命名管道的相关技巧。#t#

先来看一下Ruby读写UNIX命名管道中的写管道的部分:

  1. fp = open ‘pipe28′, File::RDWR  
  2. arcf=File.open(”/Tbackup/drb
    /mctps01.dbf”,”rb”)  
  3. while !arcf.eof?  
  4. fp.syswrite(arcf.read(1048576))  
  5. end  
  6. fp.close  
  7. arcf.close 

其中fp是管道的文件对象,arcf则是原文件的文件对象。打开方法open的前一个参数是用来指明管道文件的路径;后一个参数表示可以对该管道进行读写操作;其他可用的参数还有:File::RDWR|File::NONBLOCK

读:File::RD
写:File::WR
读写:File::RDWR
非阻塞模式:File::NONBLOCK

这里解释一下非阻塞模式,如果不加这个参数在程序不断往管道内写入数据,同时没有程序往外读取数据的时候,管道达到1M后就会把写管道的进程阻塞起来。加了这个参数管道就不会阻塞。

然后来看一下Ruby读写UNIX命名管道中的读管道的程序

  1. dfp=File.new(’/Tbackup/
    hutest1.db’,'wb+’)  
  2. pfp=open ‘abc1′, File::RDWR  
  3. while true  
  4. dfp.write(pfp.read(1048576))  
  5. end  
  6. dfp.close  
  7. pfp.close 

这里pfp是管道文件的对象,而dfp是目标文件的对象。

网页标题:全方位解读Ruby读写UNIX命名管道
文章转载:http://www.shufengxianlan.com/qtweb/news37/324037.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联