Scroll to navigation

QTCSH(1) Grid Engine User Commands QTCSH(1)


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.

Switches qtcsh into verbose mode, causing diagnostic output in case of remote execution.
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.
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.
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).

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


Specifies the location of the Grid Engine standard configuration files.
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.

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.
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.
If set when starting qtcsh the local operation mode is activated implicitly as if the -L option was specified.


~/.qtask	user qtask file.
	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.

2011-10-21 SGE 8.1.3pre