This is the command pexec that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
PROGRAM:
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.
Use pexec online using onworks.net services