1 SPAWN 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 2 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 /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:.