Matteo Cantoni > Net-Scan-Fork-0.01 > Net::Scan::Fork

Download:
Net-Scan-Fork-0.01.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
Report a bug
Module Version: 0.01   Source  

NAME ^

Net::Scan::Fork - A simple way to manage fork processess.

SYNOPSIS ^

  use Net::Scan::Fork;

  bla bla
  bla bla

  Net::Scan::Fork::settings(20,4,3,60);

  foreach (@hosts){
    Net::Scan::Fork::scan(\&scan,100,$_);
  }

  Net::Scan::Fork::wait_child;

  exit(0);

  sub scan{
    bla bla
    bla bla
  }

DESCRIPTION ^

This module provides you a simple way to manage fork processess. It would be useful in a multiprocess network/security/etc. scanner.

METHODS ^

settings

Fork settings:

  Net::Scan::Fork::settings(20,4,3,60);

You can specify:

new max processes

set a new "max processes" value when the "critic cpu load" has been passed. 20 is a good value;

critic cpu load

when the "critic cpu load" has been passed, the number of processes is decreased to "new max processes" and a sleep of seconds ("sleep time") takes place. 4 is a good value;

new cpu load

is the new limit of the cpu load to check when the critic value has been passed. 3 is a good value;

sleep time

sleep time (in seconds) when the "critic cpu load" value is exceeed; 60 is a good value;

scan

This function executes the code reference passed to it. 100 is the max number of processes value;

  Net::Scan::Fork::scan(\&scan,100,$ip);

wait_child

Wait for all the processes which have been forked.

  Net::Scan::Fork::wait_child;

BUGS AND LIMITATIONS ^

A high value of processes could increase too much the cpu load and block the sistem :)

Please send me your feedback.

SEE ALSO ^

Proc::Fork Parallel::ForkManager

AUTHOR ^

Matteo Cantoni, <mcantoni@cpan.org>

COPYRIGHT AND LICENSE ^

You may distribute this module under the terms of the Artistic license. See Copying file in the source distribution archive.

Copyright (c) 2006, Matteo Cantoni