1

我正在尝试使用分离方法运行带有线程的 perl 脚本。该应用程序应该永久运行,24/7。我正在尝试使用这个例子

但是当我在更长的时间段内运行这个例子时,发现内存在不断增加。我怎样才能避免这种情况?如何在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 回答