-1
私は次のコードでデーモンモードで実行しているperlスクリプトを持っています。PerlのProc :: Daemon :: Init'dスクリプトでファイルハンドルを開くことができません
Proc::Daemon::Init()
# Anonymous subroutine.
my $sub = sub {
# Call to the function which opens the filehandle
my $content = RandomPackage::GetContent({ $args});
}
# Forking
Proc::ForkAndForget->({JOB => $sub });
RandomPackage :: GetContentには次の定義があります。
use File::Temp;
sub GetContent {
my ($args) = @_;
my ($filehandle, $filename) = File::Temp::tempfile();
open $filehandle, ">", $filename or "cant open the filehandle";
<Some operations>
return ;
}
デーモンモードでスクリプトを実行しているときに、エラーが発生してファイルハンドルを開くことができません。 何か助けていただければ幸いです。
'open'が返すエラーは何ですか?ファイルハンドルを '' 'または' 'で置き換えてください(" $ filename \ "を開くことはできません:$!\ n"); ' – ikegami
これはFile :: Tempの使用方法ではありません。 '$ filehandle'は既に' $ filename'へのオープンハンドルを含んでいます。 – ikegami
Proc :: Daemon :: Initは、プロセスが所有しているすべてのファイルハンドルをクローズしようとします。 – ikegami