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

开发 开发工具
我们在这篇文章中分两步为大家介绍了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是目标文件的对象。

责任编辑:曹凯 来源: mchz.com
相关推荐

2009-12-15 10:10:42

Ruby过程对象

2009-12-16 17:07:27

Ruby on Rai

2009-12-15 10:48:54

Ruby局部变量

2009-12-16 09:29:26

Ruby布尔表达式

2010-01-04 14:06:35

Silverlight

2012-07-31 10:24:18

惠普Gen8服务器

2009-12-15 17:28:11

Ruby自动化脚本框架

2009-12-21 13:06:05

WCF Address

2011-10-26 09:28:28

红帽大数据Gluster

2010-01-27 13:52:15

Android多媒体框

2014-06-26 17:25:22

车联网 ECU

2017-09-13 15:37:53

2010-01-05 09:57:34

.NET Framew

2024-05-10 14:35:56

人工智能大型语言模型

2016-02-16 14:42:58

戴尔云计算

2013-03-01 09:56:57

2016-12-14 14:43:11

ButterknifeAndroid

2017-08-09 09:19:30

2010-01-11 13:42:20

VB.NET字符串加密

2024-04-08 11:52:08

PromQL技术监控
点赞
收藏

51CTO技术栈公众号