1

detachメソッドを使用してスレッドでperlスクリプトを実行しようとしています。アプリケーションは24時間年中無休で永続的に実行されることになっています。この例を使用しようとしています。

しかし、この例をより長い期間実行すると、メモリが絶えず増加していることがわかります。どうすればこれを回避できますか?threads->detachメモリを増やさずにこの方法を使用するにはどうすればよいですか?

4

2 に答える 2

1

別のアプローチは、Parallel :: ForkManagerモジュール(単純な並列処理フォークマネージャー)の使用です。私はそれを使用し、作業を完了しました(メモリリークのない長時間実行プロセス)。

于 2013-02-25T20:42:14.400 に答える
0

コードまたは切り離そうとしているものを投稿できますか?

切り離されたプログラムを実行するためだけに pool.pl を使用する必要はありません。

あなたができる最も簡単なことは

use threads;
use threads::shared; # if required,


###loop main prog

my $detach_thread = threads->create(

    sub {
         # DO YOUR STUFF here
          return;
        }

);

$detach_thread->detach();

考慮すべき他の代替手段は、バックグラウンドで実行することです (UNIX の場合: yourcommand &)。

于 2013-02-25T20:33:19.627 に答える