全方位解读Ruby读写UNIX命名管道
创始人
2024-06-15 19:20:37
0

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是目标文件的对象。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...