美图齐众专注资阳网站设计 资阳网站制作 资阳网站建设
资阳网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

全方位解读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.zsjierui.cn/article/cdcdiej.html

其他资讯