Creates a subprocess of the current process. Portions of the
current process context are copied to the subprocess.
Format:
SPAWN [COMMAND-STRING]
Qualifiers Defaults
/[NO]CARRIAGE_CONTROL
/[NO]CLI
/INPUT=filespec
/[NO]KEYPAD /KEYPAD
/[NO]LOG /LOG
/[NO]LOGICAL_NAMES /LOGICAL_NAMES
/[NO]NOTIFY /NONOTIFY
/OUTPUT=filespec
/PROCESS=subprocess_name
/PROMPT=string
/[NO]SYMBOLS /SYMBOLS
/TABLE=command_table
/[NO]WAIT /WAIT
1 – Parameters
command-string
Specifies a DCL 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.
2 – Qualifiers
2.1 /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.
2.2 /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.
2.3 /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.
2.4 /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.
2.5 /LOG
/LOG (default)
/NOLOG
Displays the assigned subprocess name and any messages
indicating transfer of control between processes.
2.6 /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.
2.7 /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.
2.8 /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.
2.9 /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.
2.10 /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.
2.11 /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.
2.12 /TABLE
/TABLE=command-table
Specifies the name of an alternate command table to be used by the
subprocess.
2.13 /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:.