Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

PARAMETER

QUALIFIERS

Example

/CARRIAGE_CONTROL

/CLI

/INPUT

/KEYPAD

/LOG

/LOGICAL_NAMES

/NOTIFY

/OUTPUT

/PROCESS

/PROMPT

/SYMBOLS

/TABLE

/WAIT

HELP SPAWN — VMS 5.5-2H4

   Creates a subprocess of the current process. Portions of the
   current process context are copied to the subprocess.

   The RESOURCE_WAIT state is required to spawn a process.
   Requires TMPMBX (temporary mailbox) or PRMMBX (permanent
   mailbox) privilege. The SPAWN command does not manage terminal
   characteristics. The SPAWN and ATTACH commands cannot be used if
   your terminal has an associated mailbox.

   Format

     SPAWN  [command-string]

Additional information available:

PARAMETERQUALIFIERS

Example

PARAMETER

command-string
   Specifies a command string of less than 132 characters that is
   to be executed in the context of the created subprocess. When
   the command completes execution, the subprocess terminates and
   control returns to the parent process. If both a command string
   and the /INPUT qualifier are specified, the specified command
   string executes before additional commands are obtained from the
   /INPUT qualifier.

QUALIFIERS

Additional information available:

/CARRIAGE_CONTROL/CLI/INPUT/KEYPAD/LOG/LOGICAL_NAMES
/NOTIFY/OUTPUT/PROCESS/PROMPT/SYMBOLS/TABLE/WAIT

/CARRIAGE_CONTROL

      /CARRIAGE_CONTROL
      /NOCARRIAGE_CONTROL

   Determines whether carriage-return and line-feed characters are
   prefixed to the subprocess's prompt string. By default, SPAWN
   copies the current setting of the parent process.

/CLI

      /CLI=cli-filespec
      /NOCLI

   Specifies the name of a command language interpreter (CLI) to be
   used by the subprocess. The default CLI is the same as the parent
   process (defined in SYSUAF). If you specify the /CLI qualifier,
   the attributes of the parent process are copied to the subprocess.

   The CLI you specify must be located in SYS$SYSTEM and have the
   file type EXE.

/INPUT

      /INPUT=filespec

   Specifies an input file containing one or more DCL commands
   to be executed by the spawned subprocess. File type defaults
   to COM and no wildcards are allowed in the file specification.
   Once processing of the input file is complete, the subprocess is
   terminated. If both a command string and the /INPUT qualifier are
   specified, the specified command string executes before additional
   commands are obtained from the /INPUT qualifier. If neither is
   specified, SYS$INPUT is assumed (in which case a SPAWN/NOWAIT
   command is aborted if Ctrl/Y is pressed to abort something running
   in your parent process).

   You cannot explicitly specify non-record-oriented, process-
   permanent files (NRO PPFs) with the /INPUT qualifier. The system
   displays an error message when it encounters such a file as the
   value for the /INPUT qualifier.

   Note that when NRO PPFs are used as implicit input (that is, the
   /INPUT qualifier is not specified and SYS$INPUT is a NRO PPF), the
   SPAWN command can succeed, as shown in the following table:

   Process Type     SYS$INPUT  Implicit Input

   Interactive      NRO PPF    SYS$COMMAND

   Noninteractive   NRO PPF    Null device

   Any              Any other  SYS$INPUT

   If SYS$INPUT is a terminal, it cannot have an associated terminal
   mailbox.

/KEYPAD

      /KEYPAD (default)
      /NOKEYPAD

   Copies keypad key definitions and the current keypad state from
   the parent process. By default, if you have established key
   definitions or states with the DEFINE/KEY or the SET KEY command,
   these settings are copied to the subprocess. Use the /NOKEYPAD
   qualifier if you do not want the key settings to be copied.

/LOG

      /LOG (default)
      /NOLOG

   Displays the assigned subprocess name and any messages indicating
   transfer of control between processes.

/LOGICAL_NAMES

      /LOGICAL_NAMES (default)
      /NOLOGICAL_NAMES

   Copies process logical names and logical name tables to the
   subprocess. By default, all process logical names and logical
   name tables are copied to the subprocess except those explicitly
   marked CONFINE or created in executive or kernel mode.

/NOTIFY

      /NOTIFY
      /NONOTIFY (default)

   Controls whether a message is broadcast to your terminal notifying
   you that your subprocess has completed or aborted. This qualifier
   should not be used unless you specify the /NOWAIT qualifier. The
   /NOTIFY qualifier cannot be specified when the SPAWN command is
   executed from within a noninteractive process.

   Note that messages broadcast as a result of using the /NOTIFY
   qualifier are considered to be DCL messages. Therefore, if SET
   BROADCAST=NODCL is in effect, all such notification messages are
   suppressed.

/OUTPUT

      /OUTPUT=filespec

   Specifies the output file to which the results of the SPAWN
   operation are written. No wildcards can be used in the file
   specification. (Do not specify SYS$COMMAND as a file specification
   for the /OUTPUT qualifier when using the /NOWAIT qualifier; both
   parent and subprocess output will be displayed simultaneously on
   your terminal.)

   You cannot explicitly specify non-record-oriented, process-
   permanent files (NRO PPFs) with the /OUTPUT qualifier. The system
   displays an error message when it encounters such a file as the
   value for the /OUTPUT qualifier.

   Note that when NRO PPFs are used as implicit output, the SPAWN
   command can succeed, as shown in the following table:

   Process Type   SYS$OUTPUT     Implicit Output

   Any            NRO PPF        Mailbox transmitting records for
                                 parent to write to its current
                                 SYS$OUTPUT device

   Any            Any other      SYS$OUTPUT

   If you omit the /OUTPUT qualifier, output is written to the
   current SYS$OUTPUT device.

/PROCESS

      /PROCESS=subprocess-name

   Specifies the name of the subprocess to be created. If you omit
   the /PROCESS qualifier, a unique process name is assigned with
   the same base name as the parent process and a unique number. The
   default subprocess name format is username_n. If you specify a
   process name that already exists, an error message is displayed.
   If the /LOG qualifier has been specified, the assigned name of the
   subprocess is displayed.

/PROMPT

      /PROMPT[=string]

   Specifies the prompt string for DCL to use in the subprocess. The
   default is the prompt of the parent process.

   The string can consist of more than one character. All valid
   ASCII characters can be used in the string. The string must be
   enclosed in quotation marks (" ")  if it contains spaces, special
   characters, or lowercase characters. Otherwise, letters are
   automatically converted to uppercase, and leading and trailing
   spaces are removed.

   If no string is specified, the DCL default prompt string " $ " is
   used for the subprocess.

/SYMBOLS

      /SYMBOLS (default)
      /NOSYMBOLS

   Determines whether global and local symbols (except $RESTART,
   $SEVERITY, and $STATUS) are passed to the subprocess. $RESTART,
   $SEVERITY, and $STATUS symbols are never passed to the subprocess.

/TABLE

      /TABLE=command-table

   Specifies the name of an alternate command table to be used by the
   subprocess.

/WAIT

      /WAIT (default)
      /NOWAIT

   Requires that you wait for the subprocess to terminate before
   you enter another DCL command. The /NOWAIT qualifier allows you
   to enter new commands while the subprocess is running. (Use the
   /OUTPUT qualifier with the /NOWAIT qualifier to avoid displaying
   both parent and subprocess output on the terminal simultaneously.)

   Note that specifying the /NOWAIT qualifier causes both input and
   output to be shared with the parent process. If the input device
   is a terminal, control characters, such as CTRL/T or CTRL/Y,
   also affect all subprocesses sharing the input device. The CTRL/Y
   control character, for example, interrupts all such subprocesses.

   This problem may be avoided by specifying /INPUT=NL:.

Example

   $ RUN MYPROG
         .
         .
         .

   $ <Ctrl/Y>
   $ SPAWN MAIL
   %DCL-S-SPAWNED, process SMITH_1 spawned
   %DCL-S-ATTACHED, terminal now attached to process SMITH_1
   MAIL> READ
      .
      .
      .
   MAIL> EXIT
   %DCL-S-RETURNED, control returned to process SMITH
   $ CONTINUE

     The SPAWN command in this example allows you to enter the VMS
     Mail Utility (MAIL) without terminating the currently running
     program. After you exit from MAIL, control is returned to the
     parent process.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026