1

フォークを使用するスクリプトを perl で作成しており、個別のプロセス間で変数を共有する必要があります。現在、私はうまく機能しているIPC::Shareableを使用しています。ただし、ハッシュのハッシュでは機能しないようです。例えば:

$todo->{$next_todo_key}{'urls_hash'} = \%temp;

or 

$todo->{$next_todo_key}{'url_idlist'} = $url_idlist;

エラーが表示されますIPC::Shareable::SharedMem: shmget: File exists at /usr/lib/perl5/site_perl/5.8.8/IPC/Shareable.pm line 566 Could not create shared memory segment: File exists

これを修正する方法を知っている人はいますか?または、ハッシュのハッシュを保存できる同様のモジュールはありますか? ありがとう!

4

1 に答える 1

0

DBM::Deepを試してみることをお勧めします。ハッシュのハッシュが必要な場合に、共有メモリ ツールが提供するものを超えている可能性があります。

DBM::Deep データベースを本当に一時的なものにしたい場合は、RAM ディスクに保存するか、スクリプト実行の最後にクリーンアップできる一時ファイルを使用することができます。

于 2012-07-05T20:32:56.657 に答える