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 <[email protected]>
COPYRIGHT
Copyright © 2007, 2008-2009; Pal, Andras <[email protected]>
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.