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.