SCOUT(1) | SCOUT(1) |
scout [command [args ...]]
scout -v
If the standard input of scout is a terminal, scout invokes a shell process. The scout command (without the -g option) followed by a Unix command invokes the Unix command on all hosts in a SIMD style. If the local shell exits, scout also terminates. All remote hosts are locked via msgbserv(8) for the following cases: upon creating the scout environment, executing each Unix command, and terminating the scout environment.
If the standard input of scout is NOT a terminal, then the input is read by scout and these input commands are fed to the shell under the scout environment. This process continues until end-of-file is read, and then scout terminates. Remote hosts are locked via msgbserv(8) for the entire session.
Output from the remote shell is compared with its neighbors, and if they are the same then the outputs are merged and sent to the standard output where scout is invoked. To distinguish messages output by which remote shells, hostname(s) as a separator is displayed in bold face, if possible. The comparison takes place if the output is less than the buffer size (currently 4 Kbytes). If the buffer overflows, single hostname is output followed by an asterisk (*) to separate with the output from another host. If only single hostname without an asterisk (*) is output to separate the message from the other host(s), then it means that the comparison is failed. Otherwise, multiple hostnames is output.
The standard output (STDOUT) and standard error (STDERR) of the remote shells are merged, so there is no way to discriminate at local output. Standard input for a remote command is not supported.
Remote shell processes are invoked every time a remote command is invoked by the scout command. Remote processes will remain on all remote hosts until the scout environment terminates.
It should be noted that the local shell substitutes the filename, including wildcard(s), in a command line along with the status of the local filesystem. Thus, using wildcard(s) in a scout command may produce unexpected results. To avoid this, quote the command and its argument(s) to be executed on remote hosts. Multiple Unix commands, connected with pipe(s) (|) and/or serialized with semicolon(s) (;), can be executed on remote hosts, if they are quoted.
All the environment variables are copied upon execution of a remote command. Thus, setting of the environment variable(s) is effective for remote command execution.
The options available for scout:
scout
waits until the lock via MessagBoard
succeeds.
When scout is invoked without any command arguments, scout checks if the current environment is in scout or not.