PEXEC(1)
NAME
pexec - executing commands in parallel
SYNOPSIS
pexec [options] [-c|-m] [--] command [arguments] | 'compound command'
DESCRIPTION
Execute commands or shell scripts in parallel on a single host or on
remote hosts using a remote shell.
OPTIONS
- General options:
- -h, --help
Gives general summary about the command line options.
- --long-help
Gives a detailed list of command line options.
- --version
Gives some version information about the program.
- -s, --shell <shell>
Full path (e.g. /bin/sh) of the shell or interpreter to be used for script execution.
- -c, --shell-command
Use the specified shell to interpret the command(s) instead of direct execution.
- -m, --multiple-command
Allow multiple individual shell command scripts to be executed in parallel with the variation of the parameters.
- -e, --environment <variable>
Name of an environmental variable which is set to the respective parameter before each execution.
- -n, --number <number>
The maximal number of processes running simultaneously. The <number> itself can even be a complex specification of remote hosts (see documentation for more details).
- -C, --control <port>
The control port of a hypervisor daemon (full path of a UNIX socket or an INET host specification).
- -p, --list <list>
The single-argument form of main parameter list.
- -r, --parameters <list>
The multiple-argument form of the main parameter list.
- -f, --listfile <file>
The main parameter list file.
- -w, --column <index>
The column index from where the parameters should be taken if they are read from a parameter file.
- -t, --complete
Threat the whole line as a single parameter if the parameters are read from a file.
- -z, --nice
Sets the scheduling priority of pexec and all children (executed processes) to the priority defined by this nice value.
- -- A marker after which the command to execute begins.
- Redirecting standard input, output and error:
- -i, --input <input>
The (optionally formatted) name of the input file which is used for redirecting the standard input.
- -o, --output <output>
The (optionally formatted) name of the output file which is used for redirecting the standard output.
- -u, --error <output>
The (optionally formatted) name of the output error file, which is used for redirecting the standard error.
- -R, --normal-redirection
Equivalent to specifying --output -, --error - and --input /dev/null.
- -a, --output-format <format>
The format of the final standard output redirection if the output of all of the processes are gathered into the same file.
- -b, --error-format <format>
The same final redirection format for the standard error.
- -x, --omit-newlines
Disable automatic newlines after the output and error formats.
- Execution using remote hosts:
- -g, --remote-shell <remote_shell>
The name or full path of the remote shell to be used for building the tunnel between the local and the peer host(s). Default: ``/usr/bin/ssh''.
- -P, --pexec <pexec>
The full path of the pexec program on the remote hosts. If this option is omitted, pexec tries to figure out from the invoking syntax and/or the current path.
- -T, --tunnel
Internal use only (pexec will start in tunnel daemon mode).
- Remote control, mutual exclusions and atomic command execution:
- -y, --bind <port>
This option lets pexec to be remote controlled via INET or UNIX domain sockets.
- -E, --pexec-connection-variable <env>
This option overrides the default environment name PEXEC_REMOTE_PORT to the specified value, which is used by the ``-p|--connect auto'' combination to determine the control socket with which the running pexec instance can be controlled.
- -j, --remote
Used to remote control and/or poll the status of other running instances of pexec.
- -p, --connect <port>
Remote control port to connect to.
- -t, --status
Prints the actual status of the running jobs in a human-readable form.
- -l, --lock <mutex>
Locks the specified mutex (if the mutex is not locked by someone else, otherwise it will block until the mutex is released).
- -u, --unlock <mutex>
Unlocks the specified mutex.
- -m, --mutex <mutex>
Name of the mutex.
- -d, --dump <filename>
Dump the content of the given file to standard output, if ``-m|--mutex'' is given, this will be atomic.
- -s, --save <filename>
Save the content of standard input to the given file, if ``-m|--mutex'' is given, this will be atomic.
- -a, --atomic <command>
Execute the given command. If ``-m|--mutex'' is given, the exectution is going to be atomic with respect to that mutex.
- Hypervisor mode:
- -H, --hypervisor
Starts pexec in hypervisor mode.
- -C, --control <port>
The control port used by the hypervisor.
- -l, --load <window>
Use load also to limit the number of simultaneous processes with the specified load average interval (0, 1 or 2, or 1min, 5min or 15min, respectively).
- -f, --fifo
First in first out queue processing.
- -s, --lifo
Last in first out (stack) queue processing (default).
- Logging:
- -L, --log <file>
The name of the log file.
- -W, --log-level <level>
The logging level.
- -V, --verbose
Increase the log level by one.
REPORTING BUGS
Report bugs to <apal@szofi.elte.hu>
COPYRIGHT
Copyright (C) 2007, 2008-2009; Pal, Andras <apal@szofi.elte.hu>
This is free software. You may redistribute copies of it under the
terms of the GNU General Public License
<http://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to the
extent permitted by law.
This software was written by Andras Pal. The core part was written
while working for the Hungarian-made Automated Telescope (HAT) project
to make the data processing more easier and therefore find many-many
extrasolar planets. See more information about this project:
http://hatnet.hu. Another internal libraries (e.g. numhash.[ch]) were
primarily written for other projects.
SEE ALSO
- The full documentation for pexec is maintained as a Texinfo manual. If
the info and pexec programs are properly installed at your site, the
command
- info pexec
- should give you access to the complete manual.