GNU Parallel is a shell tool for executing jobs in parallel using one or more
machines. A job is typically 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, or a list of tables.
If you use xargs today you will find GNU Parallel very easy to use. If you
write loops in shell, you will find GNU Parallel may be able to replace most of
the loops and make them run faster by running jobs in parallel. If you use ppss
or pexec you will find GNU Parallel will often make the command easier to read.
GNU Parallel also makes sure output from the commands is the same output as you
would get had you run the commands sequentially. This makes it possible to use
output from GNU Parallel as input for other programs.
GNU Parallel is command-line-compatible with moreutils' parallel, but offers
niceload GNU niceload will slow down a program when the load average (or other system activity) is above a certain limit. When the limit is reached the program will be... parallel parallel runs the specified command, passing it a single one of the specified arguments. This is repeated for each argument. Jobs may be run in parallel. The... sem GNU sem is an alias for GNU parallel --semaphore. GNU sem acts as a counting semaphore. When GNU sem is called with command it starts the command in the... sql GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on... parallel_design This document describes design decisions made in the development of GNU parallel and the reasoning behind them. It will give an overview of why some of the code... parallel_tutorial This tutorial shows off much of GNU parallel's functionality. The tutorial is meant to learn the options in GNU parallel. The tutorial is not to show realistic...