qtcsh - tcsh with transparent remote execution by use of qrsh
qtcsh [ tcsh options | -ABLR ]
Qtcsh is an extension to the popular csh(1)
derivative tcsh. It allows the transparent remote execution of
commands entered in qtcsh controlled via Grid Engine. Qtcsh
can be used as interactive command interpreter as well as for the processing
of tcsh shell scripts.
When invoked, qtcsh identifies which commands are to be run
remotely and which are not. For this purpose the files
<sge_root>/<cell>/common/qtask and ~/.qtask are processed. Each
line in these files defines a command that is intended to be run remotely
(see qtask(5) for a definition of the file format). The .qtask file
in the user's home directory contains the user's remote task specification,
while the file in the common directory is maintained by the administrator
and defines a cluster-wide default behavior. The contents of the
administrator supplied qtask(5) file are completely overridden in
case there is an appropriate entry in the users qtask(5) file. This
is prevented in case an exclamation mark is prefixed to the command name in
the administrators qtask file.
Qtcsh always attempts to start the designated tasks
remotely via qrsh(1). Exceptions are
- if the user enters such commands via a relative or absolute pathname
instead of the stand-alone command name (see qtask(5) for more
information);
- if the environment variable JOB_ID is set and thus qtcsh assumes
that execution already happens remotely within a Grid Engine job and thus
executes tasks locally. This avoids unwanted recursions but can be
overridden by the command-line option -R and the built-in command
qrshmode -R (see corresponding descriptions below);
- if qtcsh cannot establish a connection of Grid Engine during
start-up. This allows using qtcsh as a login shell without the
danger of being blocked when no Grid Engine service is available.
Qtcsh can operate in three different modes determining
whether
- tasks are executed remotely;
- immediate or batch execution is requested;
- status output is verbose or only in case of any errors.
These modes either can be controlled by the command-line switches
described below during qtcsh invocation or within an executing
qtcsh via the built-in command qrshmode, as described in
section BUILT-IN COMMANDS.
The options listed below are specific to qtcsh. The user is
referred to the tcsh(1) documentation for the explanation of further
options.
- -A
- Switches qtcsh into verbose mode, causing diagnostic output in case
of remote execution.
- -B
- Switches remote task execution into batch mode. Tasks submitted to Grid
Engine will be queued if they cannot start immediately. As a consequence,
qtcsh may block until the queued task can be started by Grid
Engine. While this behavior probably is undesirable during an interactive
session, it may be very useful for execution of shell scripts through
qtcsh, as it avoids failure of the scripts due to temporarily
unavailable resources for particular tasks.
- -L
- Switches off the default behavior of remote execution of commands. Causes
all commands to be executed locally even if they are contained in one of
the qtask(5) files.
- -R
- Enforces remote execution of commands even if JOB_ID is set as environment
variable.
This section only describes additional shell builtin commands
which are not available in standard tcsh(1).
- qrshmode
[-ANBILR]
- Without options, the current operational mode of qtcsh is
displayed. The options have the following effect:
-A switch to verbose output mode
-N switch to non-verbose output mode
-B switch to batch execution mode
-I switch to immediate execution mode
-L always execute commands locally
-R execute configured commands remotely
- SGE_ROOT
- Specifies the location of the Grid Engine standard configuration
files.
- SGE_CELL
- If set, specifies the default Grid Engine cell. To address a Grid Engine
cell qtcsh uses (in the order of precedence):
The name of the cell specified in the environment
variable SGE_CELL, if it is set.
The name of the default cell, i.e. default.
- SGE_DEBUG_LEVEL
- If set, specifies that debug information should be written to stderr. In
addition the level of detail in which debug information is generated is
defined.
- SGE_QMASTER_PORT
- If set, specifies the tcp port on which sge_qmaster(8) is expected
to listen for communication requests. Most installations will use a
services map entry for the service "sge_qmaster" instead to
define that port.
- JOB_ID
- If set when starting qtcsh the local operation mode is activated
implicitly as if the -L option was specified.
~/.qtask user qtask file.
<sge_root>/<cell>/common/qtask
cluster qtask file.
sge_intro(1), qrsh(1), qtask(5) as well as
tcsh(1).
Qtcsh is an adaptation of tcsh which is copyrighted
by The Regents of the University of California.
See sge_intro(1) and the information provided in
<sge_root>/doc/LICENCES for a statement of further rights and
permissions.