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

fre*_*ara 0 db2 perl fork

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

my $db = DBconnection with DB2

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

wait();
$db->execute("SELECT ****");
Run Code Online (Sandbox Code Playgroud)

我认为它等待子进程的结束想要这样做并且将通过pro-process为DB操作它.

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

怎么了?

Cha*_*ens 5

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