如何在Perl中的分叉进程之间共享数据库连接?

时间:2009-05-17 11:48:16

标签: perl db2 fork

我之前在Perl中制作了以下程序:

my $db = DBconnection with DB2

if ($pid = fork()) {
    #parent
} else {
    #child
    $db->execute("SELECT ****");
    exit;
}

wait();
$db->execute("SELECT ****");

我认为它等待子进程结束时想要这样做,并且会通过专业进程为DB操作。

此外,DB未连接到错误的内容。

怎么了?

2 个答案:

答案 0 :(得分:5)

要允许子进程使用其父进程的DBI句柄,必须执行许多操作。请参阅有关DBI, fork, and clone的Perl Monks上的这篇文章。

答案 1 :(得分:1)

尝试在子块中包含以下代码行:

$db->{InactiveDestroy} = 1;