perl-Parallel-ForkManager - Simple Parallel Processing Fork Manager

Property Value
Distribution openSUSE Leap 42.3
Repository Packman all
Package filename perl-Parallel-ForkManager-2.02-2.1.noarch.rpm
Package name perl-Parallel-ForkManager
Package version 2.02
Package release 2.1
Package architecture noarch
Package type rpm
Category Development/Libraries/Perl
License Artistic-1.0 OR GPL-1.0-or-later
Maintainer -
Download size 39.00 KB
Installed size 87.97 KB
This module is intended for use in operations that can be done in parallel
where the number of processes to be forked off should be limited. Typical
use is a downloader which will be retrieving hundreds/thousands of files.
The code for a downloader would look something like this:
use LWP::Simple;
use Parallel::ForkManager;
my @links=(
my $pm = Parallel::ForkManager->new(30);
foreach my $linkarray (@links) {
$pm->start and next LINKS; # do the fork
my ($link, $fn) = @$linkarray;
warn "Cannot get $fn from $link"
if getstore($link, $fn) != RC_OK;
$pm->finish; # do the exit in the child process
First you need to instantiate the ForkManager with the "new" constructor.
You must specify the maximum number of processes to be created. If you
specify 0, then NO fork will be done; this is good for debugging purposes.
Next, use $pm->start to do the fork. $pm returns 0 for the child process,
and child pid for the parent process (see also perlfunc(1p)/fork()). The
"and next" skips the internal loop in the parent process. NOTE: $pm->start
dies if the fork fails.
$pm->finish terminates the child process (assuming a fork was done in the
NOTE: You cannot use $pm->start if you are already in the child process. If
you want to manage another set of subprocesses in the child process, you
must instantiate another Parallel::ForkManager object!


Package Version Architecture Repository
perl-Parallel-ForkManager-2.02-1.1.noarch.rpm 2.02 noarch Database
perl-Parallel-ForkManager - - -


Name Value
/usr/bin/perl -
perl(:MODULE_COMPAT_5.18.2) -
perl(Moo) -
perl(Moo::Role) -


Name Value
perl(Parallel::ForkManager) = 2.02
perl(Parallel::ForkManager::Child) = 2.02
perl-Parallel-ForkManager = 2.02-2.1


Type URL
Binary Package perl-Parallel-ForkManager-2.02-2.1.noarch.rpm
Source Package perl-Parallel-ForkManager-2.02-2.1.src.rpm

Install Howto

  1. Add the Packman repository:
    # zypper addrepo packman
  2. Install perl-Parallel-ForkManager rpm package:
    # zypper install perl-Parallel-ForkManager




2018-11-08 - Stephan Kulow <>
- updated to 2.02
see /usr/share/doc/packages/perl-Parallel-ForkManager/Changes
2.02 2018-10-08
- Promote to stable release.
2.01 2018-08-23
- add 'child_role' attribute for customization.
2.00 2018-08-22 (TRIAL)
- Change the guts to be Moo-based. (GH#24)
2018-07-19 -
- updated to 1.20
see /usr/share/doc/packages/perl-Parallel-ForkManager/Changes
1.20 2018-07-18
- Add section about rand() and forked processes. (GH#22)
- Expand abbreviations in error messages. (GH#14, Ricardo Signes)
- Rename variables and simplify `_waitpid` signature. (GH#14, Ricardo
- code churn: 6 files changed, 80 insertions(+), 33 deletions(-)
2016-07-04 -
- updated to 1.19
see /usr/share/doc/packages/perl-Parallel-ForkManager/Changes
1.19 2016-06-28
- Typo fixes. (GH#10)
- Add short discussion on security about the information passing via
files between master/children processes.
- Document the problem between PerlIO::fzip and fork(). (GH#11)
- New way to spawn workers via 'start_child'.
- code churn: 4 files changed, 114 insertions(+), 5 deletions(-)
2016-04-04 -
- updated to 1.18
see /usr/share/doc/packages/perl-Parallel-ForkManager/Changes
1.18 2016-03-29
- Storage file between child and parent could have the wrong name,
because $$ was used instead of parent_pid. (GH#9, reported by Lucien
- code churn: 4 files changed, 37 insertions(+), 4 deletions(-)
2015-11-29 -
- updated to 1.17
see /usr/share/doc/packages/perl-Parallel-ForkManager/Changes
1.17 2015-11-28
- Up Test::More's dependency version to v0.94 (because of 'subtest').
(GH#8, mauke)
- code churn: 3 files changed, 88 insertions(+), 70 deletions(-)
2015-10-10 -
- updated to 1.16
see /usr/share/doc/packages/perl-Parallel-ForkManager/Changes
2015-07-12 -
- updated to 1.15
see /usr/share/doc/packages/perl-Parallel-ForkManager/Changes
1.15 2015.07.08
- test's watchdog actually exit if it's being hit. (RT#105747, Zefram)
- condition to catch children reaped by external forces
improved. (RT#105748, Zefram + Yanick)
2015-05-18 -
- updated to 1.14
see /usr/share/doc/packages/perl-Parallel-ForkManager/Changes
1.14 2015.05.17
- Add 'reap_finished_children', 'is_child' and 'is_parent'. (GH#6, Nine bit)
2015-05-13 -
- updated to 1.13
see /usr/share/doc/packages/perl-Parallel-ForkManager/Changes
1.13 2015.05.11
- Use 'select' instead of sleep in _waitpid_blocking. (GH#5)
2015-03-23 -
- Update to 1.12
* for full list of changes see attaced Changes

See Also

Package Description
perl-Pegex-0.70-1.1.noarch.rpm Acmeist PEG Parser Framework
perl-Sereal-4.005-7.1.noarch.rpm Binary (de-)serialization module for Perl
perl-Sereal-Decoder-4.005-7.1.aarch64.rpm Binary serialization module for Perl (decoder part)
perl-Sereal-Decoder-4.005-7.1.armv7hl.rpm Binary serialization module for Perl (decoder part)
perl-Sereal-Decoder-4.005-9.1.x86_64.rpm Binary serialization module for Perl (decoder part)
perl-Sereal-Encoder-4.005-7.1.aarch64.rpm Binary serialization module for Perl (encoder part)
perl-Sereal-Encoder-4.005-7.1.armv7hl.rpm Binary serialization module for Perl (encoder part)
perl-Sereal-Encoder-4.005-9.1.x86_64.rpm Binary serialization module for Perl (encoder part)
perl-Test-Signature-1.11-2.3.noarch.rpm Automated SIGNATURE testing
perl-Test-Signature-1.11-2.5.noarch.rpm Automated SIGNATURE testing
perl-Tk-FontDialog-0.18-1.3.noarch.rpm Font Dialog Widget for Perl/Tk
perl-Tk-FontDialog-0.18-1.5.noarch.rpm Font Dialog Widget for Perl/Tk
perl-WebService-MusicBrainz-1.0.4-1.1.noarch.rpm Web service API to MusicBrainz database
perl-WebService-MusicBrainz-1.0.4-5.1.noarch.rpm Web service API to MusicBrainz database
perl-XML-RSS-LibXML-0.3105-1.3.noarch.rpm XML::RSS with XML::LibXML