我正在尝试使用detach方法运行带有线程的perl脚本。应用程序 应该是24/7全天候运行。我正在尝试使用this example。
但是当我在更长的时间内运行这个例子时,事实证明存在一个常数
增加记忆力。我怎么能避免这个?如何在不增加内存的情况下使用threads->detach
方法?
答案 0 :(得分:1)
另一种方法可能是使用Parallel::ForkManager模块(一个简单的并行处理fork管理器)。我已经使用它了,我完成了我的工作(长时间运行的进程没有内存泄漏)。
答案 1 :(得分: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 &
)。