NAME

App::Prun - Provides the prun script as a command line interface to Parallel::ForkManager.

VERSION

Version 1.03

SYNOPSYS

for nr in `seq 1..100`; do echo "echo command #$nr" | prun

prun command_file_to_run_in_parallel

DESCRIPTION

prun allows you to utilize multiple CPUs for some workloads from the shell more easily.

prun takes a list of commands (stdin and/or from file(s)) and run the commands in parallel.

prun is a CLI front end to Parallel::ForkManager. It runs commands in parallel up to a maximum number of processes at once.

EXAMPLES

There are also examples available from the command line --help.

Run tkprof against all .trc files in the current directory, run 32 of them at a time.

for F in *.trc; do echo "tkprof $F ${F%trc}txt"; done | prun -p 32

Run all commands in a file (command_file), one line at a time. Run the default number of processes in parallel ($def_processes). Ignore any failed processes, but do report to STDOUT any that fail.

prun -r command_file

Test with the dummy_load script included in the contrib/ directory of this distribution:

for F in `seq 1 100`; do echo "contrib/dummy_load"; done | prun

AUTHOR

Jason McCarver <slam@parasite.cc>

SEE ALSO

App::Prun::Scaled
Parallel::ForkManager
Parallel::ForkManager::Scaled

REPOSITORY

The mercurial repository for this module may be found here:

https://bitbucket.org/jmccarv/app-prun

clone it:

hg clone https://bitbucket.org/jmccarv/app-prun

COPYRIGHT AND LICENSE

This software is copyright (c) 2016 by Jason McCarver

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.