教程集 www.jiaochengji.com
教程集 >  脚本编程  >  perl  >  正文 perl实现linux进程间的通信 perl FIFO的例子

perl实现linux进程间的通信 perl FIFO的例子

发布时间:2014-07-20   编辑:jiaochengji.com
本文分享一例perl代码,实现linux两个进程间的通信,一个很简单的FIFO的例子,有需要的朋友参考下吧。

本节主要内容:
FIFO应用示例,
Linux两个进程间,使用FIFO进行通信.

例子:
 

复制代码 代码示例:

#!/usr/bin/perl -w
#
#site: www.jiaochengji.com

my $cmd_ff = "./ffmpeg -i ....";

my $uuid = `uuidgen`;         // 生成不重名FIFO的名称
chomp $uuid;
system("mkfifo $uuid");       // 创建FIFO

my $pid_ffmpeg = fork;        // 创建进程
if (0 == $pid_ffmpeg)
{
  // 子进程
  open(STDERR, ">", $uuid);   // 将STDERR重定向到FIFO
  exec($cmd_ff);              // 启动ffmpeg, 它的STDERR都输出到FIFO
}
else
{
  // 主进程
  $/="\r";                   
  $|++;
  open my $fh, "<", $uuid;    // 以FIFO为输入,并定位其到变量$fh
  while(<$fh>)                // 每次读取一行
  {
    // 处理每行的数据
  }
}

您可能感兴趣的文章:
perl实现linux进程间的通信 perl FIFO的例子
perl实例之http请求的小例子
《Perl编程24学时教程》笔记第17课 perl的CGI概述
perl实例之子程序
perl文件锁使脚本以单实例运行
Perl管道实现进程间通信的实例详解
linux安装perl模块的方法
perl中INC设置的三个例子
perl实例之文件读写操作
《Perl编程24学时教程》笔记第19课 perl的复杂窗体

[关闭]
~ ~