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.

      * prun --help

      * Parallel::ForkManager

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 -e -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.