Perl에서 분기된 프로세스 전체에 걸쳐 데이터베이스 연결을 공유하려면 어떻게 해야 합니까?
문제
이전에 Perl로 다음 프로그램을 만들었습니다.
my $db = DBconnection with DB2
if ($pid = fork()) {
#parent
} else {
#child
$db->execute("SELECT ****");
exit;
}
wait();
$db->execute("SELECT ****");
하고 싶어서 자식 프로세스가 끝날 때까지 기다렸다가 프로프로세스로 DB용으로 운영하겠다고 생각했습니다.
또한 오류 내용에 DB가 연결되지 않았습니다.
뭐가 문제 야?
해결책
자식 프로세스가 부모의 DBI 핸들을 사용하도록 허용하려면 해야 할 일이 많이 있습니다.Perl Monks에 대한 이 기사를 참조하십시오. DBI, 포크 및 클론.
다른 팁
이 코드 라인을 자녀 블록에 포함 시키십시오.
$db->{InactiveDestroy} = 1;
제휴하지 않습니다 StackOverflow