[Perl]IPC进程间内存共享 z

本文介绍了一种使用Perl语言实现的进程间通信(IPC)机制,通过共享内存的方式让两个进程能够交换数据。该示例包括一个服务器端脚本用于写入数据,以及一个客户端脚本用于读取这些数据。

#!/usr/bin/perl -w

#test_server run under administrator
use strict;
use IPC::Shareable;
my $glue = 'test.key';
my %options = (
    create => 1,
    exclusive => 0,
    mode => 0644,
    destroy => 1,
);
my @arr;
tie @arr, 'IPC::Shareable', $glue, { %options } or die "server: tie failed/n";
@arr = ();
while (1) {
        print "Input:";
        my $input=<STDIN>;
        chomp $input;
        if (defined $input) {
                push(@arr,$input);
        }
        print "/@arr:@arr/n";
}
exit;


 

 

#!/usr/bin/perl -w

#test_client run under administrator

use strict;
use IPC::Shareable;
my $glue = 'test.key';
my %options = (
    create => 0,
    exclusive => 0,
    mode => '0644',
    destroy => 0,
    size=>65536 #size must less then 65536
    );
my @arr;
my $ipch=tie @arr, 'IPC::Shareable', $glue, { %options } or die "client: tie failed/n";
while(1) {
        if (scalar @arr > 0) {
                $ipch->shlock;
                my $str=shift @arr;
                $ipch->shunlock;
                print "output:$str/n";
        } else {
                sleep 3;
        }
}
exit;


<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值