请教是否可以实现fork的进程同父进程共享某个变量

请教是否可以实现fork的进程同父进程共享某个变量

use IO:ipe;
use vars qw/$moniter $pipe $pid/;

$pipe = new IO:ipe;

if($pid = fork())
{
    $pipe->writer();

    open(STDOUT, '>&', $pipe);
    open(STDERR, '>&', $pipe);

    system("grep 'ppp' /usr/ -R";
}
elsif($pid == 0)
{
    $pipe->reader();
    while(<$pipe> {
        $moniter = $_;
        print "...", $moniter;
    }
}

__END__


程序如上,我想问问有什么方法可以让父进程和子进程共享变量$moniter
share memory....
请看network programming with perl
里面有教你怎麽在share memory中allocate一块内存...存取变量值
谢ls的,正在研究中。。。。
可以用IPC::Shareable或IPC::ShareLite,但可移植性不好,Win32下要用Win32::MMF。

另外进程异常终止后共享内存不会注销。

所以进程间通讯最好还是用双向Pipe或Socket。