array(1)                                                              array(1)


NAME
     array - execute an array command

SYNOPSIS
     array [options...] command [args...]

DESCRIPTION
     The array command is used to execute the array command specifed by
     "command args..." on one or more machines in an array and display the
     resulting output on stdout.  An array command is not necessarily the same
     thing as a UNIX command.  It is passed to arrayd(1M), the array services
     daemon, which is responsible for translating it to an actual UNIX command
     and executing it on the machines that make up the array.  Several array
     commands are available by default; these are described below.

     array takes several options.  The first token on the command line that
     does not constitute a valid option is assumed to mark the beginning of
     the array command.  None of the remaining tokens will be examined by
     array, other than to pass them along as arguments to the array command
     itself.

     The valid options include:

     -a arrayname or -array arrayname
          Specifies the name of the array to which this command should be
          directed.  If not specified, the array services daemon's default
          destination will be used.

     -D or -direct
          When used with -s, indicates that the request should be sent
          directly to the specified server, rather than forwarded to that
          server by the local array services daemon.  This will fail on
          systems that use array services authentication unless the -Kl and
          -Kr options are also specified.  -D is the default behavior under
          normal circumstances (but see the description of the ARRAYD_FORWARD
          variable, below).

     -F or -forward
          When used with -s, indicates that the request should be forwarded to
          the specified server via the local array services daemon, rather
          than sent directly to it.  -F is the default unless the value of the
          ARRAYD_FORWARD environment variable begins with the letter "N" (as
          in "no"; it may be in either upper or lower case).

     -g or -global
          Global command: indicates that the array command should be run in a
          new global array session, that is, a new array session that has been
          assigned a fresh global array session handle.

     -Kl key or -localkey key
          Use key for the local authentication key when communicating directly
          with a remote array services daemon.  key is an unsigned 64-bit


          value.  The default local key is obtained from the environment
          variable ARRAYD_LOCALKEY; if that does not exist, no key is used.
          The actual role played by key depends on the authentication method
          used by array services in a particular configuration.  In general,
          it is not used when communicating with an array services daemon on
          the local machine.

     -Kr key or -remotekey key
          Use key for the remote authentication key when communicating
          directly with a remote array services daemon.  key is an unsigned
          64-bit value.  The default remote key is obtained from the
          environment variable ARRAYD_REMOTEKEY; if that does not exist, no
          key is used.  The actual role played by key depends on the
          authentication method used by array services in a particular
          configuration.  In general, it is not used when communicating with
          an array services daemon on the local machine.

     -l or -local
          Local request: indicates that the request should not be propagated
          to other machines.  This could be useful for testing a new array
          command.

     -p port or -port port
          Specifies the port address of the array services daemon.  Defaults
          to the value of the "ARRAYD_PORT" environment variable if present,
          or the standard port number of the "sgi-arrayd" service otherwise.

     -q or -quiet
          Quiet: discard the output of the array command rather than sending
          it to stdout.

     -s server or -server server
          Specifies the hostname or IP address of the array services daemon.
          Defaults to the value of the "ARRAYD" environment variable if
          present, or "localhost" otherwise.

     -t value or -timeout value
          Specifies the timeout value (in seconds) used for waiting on a
          single array services request.  Most commands involve one array
          services daemon requesting services from another array services
          daemon, so it will typically take two times this many seconds before
          the array command itself will timeout.  The default is 15 seconds
          (so most array commands will timeout if no response is received in
          30 seconds).

     -v   Verbose messages: display additional progress messages.  Repeated
          occurrences (either "-v -v ..." or "-vv...") increases the
          verbosity, although this is generally only useful for debugging
          arrayd itself.


USING A REMOTE ARRAY SERVICES DAEMON
     Ordinarily, the array command uses the array services daemon running on
     the local machine for processing requests.  However, there are some
     circumstances where it is useful to contact an array services daemon on
     another machine instead, such as when a smaller machine, perhaps running
     IRIX 5.3 and therefore not capable of running an array services daemon,
     is used as a console interface for an array.  There are two ways to
     accomplish this.  If it is necessary to use a remote array services
     daemon only infrequently, the -s server option can be specified on the
     command line to indicate the hostname of the server that should be
     contacted.  However, if the remote daemon will be used frequently or
     exclusively (such as in the case where the local machine is being used as
     a console interface to an array, and not as a member of the array itself)
     then an easier approach is to set the environment variable ARRAYD to the
     hostname of the remote server.  If the -s option is not specified, then
     the array command will use the value of that variable (if it is set)
     rather than trying to contact an array services daemon on the local
     machine.

DEFAULT ARRAY COMMANDS
     The default array services configuration includes several simple array
     commands:

     array kill ASH
          Sends a SIGTERM signal to all of the processes in the array that
          belong to the array session specified by the handle ASH.  By
          default, SIGTERM will kill most processes, though shell programs are
          often a notable exception.

     array ps
          Shows the array session handle, machine name, process ID, owner, run
          time and command line for every process in the array that has a
          non-zero array session handle.

     array resume ASH
          Resumes all processes in the array that belong to the array session
          specified by the handle ASH by sending them the SIGCONT signal.
          Presumably this array session had been suspended earlier with array
          suspend.

     array signal sig ASH
          Sends signal sig to all processes in the array that belong to the
          array session specified by the handle ASH.  This is simply a more
          general version of the kill/suspend/resume commands.

     array suspend ASH
          Suspends all processes in the array that belong to the array session
          specified by the handle ASH by sending them the SIGTSTP signal.

     array uptime
          Equivalent to running the uptime(1) command on each machine in the
          array.


     array who
          Shows the login name, current machine, origin machine and current
          command for every logged-in user of the array.

     Note that the available array commands are controlled by the system
     administrator, so some or all of these commands may not be present.
     Other array commands may also be available.  Consult your system
     adminstrator for more information.

NOTES
     The array services daemon (arrayd(1M)) must be running on all machines
     that are to execute an array command.  It does not necessarily have to be
     running on the machine that executes array if an alternate server was
     specified in some way.

SEE ALSO
     arrayd(1M), arrayd.conf(4).


                                                                        Page 4