2010-04-26 22:52:13 +00:00
|
|
|
|
|
|
|
GNU Parallel README
|
|
|
|
|
|
|
|
Please send problems and feedback to bug-parallel@gnu.org.
|
|
|
|
|
|
|
|
= Presentation of GNU Parallel =
|
|
|
|
|
2011-12-09 22:25:20 +00:00
|
|
|
GNU Parallel is a shell tool for executing jobs in parallel using one
|
2011-05-20 23:07:45 +00:00
|
|
|
or more computers. A job is can be a single command or a small script
|
|
|
|
that has to be run for each of the lines in the input. The typical
|
|
|
|
input is a list of files, a list of hosts, a list of users, a list of
|
|
|
|
URLs, or a list of tables. A job can also be a command that reads from
|
2011-12-09 22:25:20 +00:00
|
|
|
a pipe. GNU Parallel can then split the input and pipe it into
|
2011-05-20 23:07:45 +00:00
|
|
|
commands in parallel.
|
|
|
|
|
2011-12-09 22:25:20 +00:00
|
|
|
If you use xargs and tee today you will find GNU Parallel very easy to
|
|
|
|
use as GNU Parallel is written to have the same options as xargs. If
|
|
|
|
you write loops in shell, you will find GNU Parallel may be able to
|
2011-05-20 23:07:45 +00:00
|
|
|
replace most of the loops and make them run faster by running several
|
|
|
|
jobs in parallel.
|
|
|
|
|
2011-12-09 22:25:20 +00:00
|
|
|
GNU Parallel makes sure output from the commands is the same output as
|
2011-05-20 23:07:45 +00:00
|
|
|
you would get had you run the commands sequentially. This makes it
|
2011-12-09 22:25:20 +00:00
|
|
|
possible to use output from GNU Parallel as input for other programs.
|
2010-04-26 22:52:13 +00:00
|
|
|
|
|
|
|
|
|
|
|
= Installation =
|
|
|
|
|
2011-12-09 22:25:20 +00:00
|
|
|
Installation of GNU Parallel is as simple as:
|
2010-04-26 22:52:13 +00:00
|
|
|
|
|
|
|
./configure && make && make install
|
|
|
|
|
2011-12-09 22:25:20 +00:00
|
|
|
If you are not root you can add ~/bin to your path and install in
|
|
|
|
~/bin and ~/share:
|
2010-11-09 17:09:33 +00:00
|
|
|
|
|
|
|
./configure --prefix=$HOME && make && make install
|
|
|
|
|
2011-12-09 22:25:20 +00:00
|
|
|
Or if your system lacks 'make' you can simply copy src/parallel
|
|
|
|
src/sem src/niceload src/sql to a dir in your path.
|
|
|
|
|
|
|
|
If you just need parallel in a pinch:
|
|
|
|
|
|
|
|
wget http://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel
|
|
|
|
chmod 755 parallel
|
|
|
|
|
2010-04-26 22:52:13 +00:00
|
|
|
After this you should be able to do:
|
|
|
|
|
2010-07-18 02:17:49 +00:00
|
|
|
parallel traceroute ::: foss.org.my gnu.org freenetproject.org
|
2010-04-26 22:52:13 +00:00
|
|
|
|
|
|
|
This will run traceroute to 3 different hosts in parallel and print
|
|
|
|
the output when the traceroutes are done.
|
|
|
|
|
2010-07-18 02:17:49 +00:00
|
|
|
Watch the intro video for a quick introduction:
|
2011-12-09 22:25:20 +00:00
|
|
|
https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1 or at
|
2010-07-18 02:17:49 +00:00
|
|
|
http://tinyogg.com/watch/TORaR/ and http://tinyogg.com/watch/hfxKj/
|
|
|
|
|
2010-04-26 22:52:13 +00:00
|
|
|
|
|
|
|
= New versions =
|
|
|
|
|
|
|
|
New versions will be released at: ftp://ftp.gnu.org/gnu/parallel/
|