perl实现linux进程间的通信 perl 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的复杂窗体