如何在Perl中管理fork池?

前端之家收集整理的这篇文章主要介绍了如何在Perl中管理fork池?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在设置一些东西,以“批量”方式将SSH输出到多个服务器.我基本上想要一次维护5个连接,当一个连接打开另一个连接时(遵循一系列服务器IP).

我想知道这样的事情我应该使用fork()吗?如果是这样,我可以使用什么逻辑来确保我一次维持5个孩子?

解决方法

分叉(或穿线)是你想要的,但你应该看一下 CPAN的模块,这些模块将提供你需要的大部分内容,以防止你重新发明轮子并经历你需要做的学习的痛苦.

例如,Parallel::ForkManager看起来就像你想要的那样.

use Parallel::ForkManager;

$pm = new Parallel::ForkManager($MAX_PROCESSES);

foreach $data (@all_data) {
  # Forks and returns the pid for the child:
  my $pid = $pm->start and next; 

  ... do some work with $data in the child process ...

  $pm->finish; # Terminates the child process
}
原文链接:https://www.f2er.com/Perl/171741.html

猜你在找的Perl相关文章