Trailing-Edge
-
PDP-10 Archives
-
bb-h138e-bm_tops20_v6_1_distr
-
6-1-documentation/exec.doc
There are 9 other files named exec.doc in the archive. Click here to see a list.
EXEC DOC FILE
January, 1985
Version 6.1(6)
COPYRIGHT (C) 1976,1978,1979,1980,1982,1983,1984 BY DIGITAL EQUIPMENT
CORPORATION, MAYNARD, MASS. THE SOFTWARE DESCRIBED IN THIS DOCUMENT
IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED ONLY IN
ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION OF
THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THEREOF
MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
CORPORATION.
DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
Page 2
04 Jan 85
This document provides a brief summary of the new and changed commands
in the EXEC packaged with the 6-series TOPS-20 monitors. The document
has two chapters, the first chapter listing the enhancements in the
V6.0 EXEC over the V5.1 EXEC, the second chapter listing the
enhancements in the V6.1 EXEC over the 6.0 EXEC. Appendices present
the concepts involved in multiforking, the new privileged commands and
ephemeral forks.
CHAPTER I
TOPS-20 RELEASE 6.0 EXEC ENHANCEMENTS
New Commands (Not including multiforking-class commands)
--------------------------------------------------------
PERUSE
SEND
New Arguments, Subcommands, and Switches
----------------------------------------
Command Argument, Subcommand, or Switch
------- -------------------------------
BUILD PRESERVE,
TOPS10-PROJECT-PROGRAMMER-NUMBER
LOAD-class /10-BLISS, /36BLISS, /ABORT, /FAIL, /[NO]FLAG-NON-STANDARD,
/[NO]MACHINE-CODE, /PASCAL, /SAIL, /SNOBOL, /[NO]WARNINGS
DDT /OVERLAY
DIRECTORY COMPLETE
INFO DECNET node-name
INFO MAIL SYSTEM
LOGIN /FAST
MERGE /OVERLAY
RECEIVE/REFUSE USER-MESSAGES
SET MAIL Notification-count
SET [NO] TRAP JSYS
/DEFINED, /UNDEFINED
TERMINAL [NO]INHIBIT
TOPS-20 RELEASE 6.0 EXEC ENHANCEMENTS Page I-2
04 Jan 85
New Multiforking-class Commands
-------------------------------
ERUN
FREEZE
KEEP
UNKEEP
Multiforking Arguments and Switches Added to Existing Commands
--------------------------------------------------------------
Command Argument or Switch
------- ------------------
CONTINUE fork-name, fork-number, /BACKGROUND, /NORMALLY, /STAY
FORK fork-name
INFORMATION FORK-STATUS
INFORMATION
DEFAULT PROGRAM
RESET (*), (.), fork name, fork number
{ [NO-]EPHEMERAL
SET DEFAULT PROGRAM { KEEP
{ NONE
SET FILE [NO] EPHEMERAL
SET NAME
{ [NO-]EPHEMERAL
SET PROGRAM { KEEP
{ NONE
START /BACKGROUND, /NORMALLY, /STAY
Miscellaneous EXEC Enhancements
-------------------------------
Command Enhancement
------- ----------
BUILD Square brackets legal in directory names
Forty directory group numbers allowed in a directory
INFO LOGICAL-NAMES
Accepts wildcards in logical name
TOPS-20 RELEASE 6.0 EXEC ENHANCEMENTS Page I-3
04 Jan 85
LOGIN Displays date and time of last LOGIN
SET DIRECTORY PASSWORD
Old Password Not Requested
PUSH Runs the EXEC defined by the system logical name
DEFAULT-EXEC:
New Fields Displayed by INFORMATION Commands
--------------------------------------------
INFORMATION
Argument New Field
-------- ---------
PROGRAM SET PROGRAM and SET DEFAULT PROGRAM settings
SYSTEM-STATUS Sending of level zero and level one messages to all users
and BUGCHK messages to console terminal.
TERMINAL TERMINAL INHIBIT and SYSTEM-MESSAGES status
VERSION Decimal version numbers
DIRECTORY Password not displayed
TOPS-10 project-programmer number
SYSTEM DECnet terminals allowed/disallowed
ARPANET New fields in display
^E Privileged Command Enhancements
----------------------------------
Command New Subcommand, Argument or Feature
------- -----------------------------------
^ECEASE NOW
Displays shutdown time and ARPANET or DECnet node name before
requiring an extra confirm.
^ECREATE PRESERVE
TOPS10-PROJECT-PROGRAMMER-NUMBER nn,nn
Square brackets legal in directory names
Forty directory group numbers allowed in a directory
^EPRINT Password not displayed
^ESET [NO] FAST-LOGINS-ALLOWED
[NO] LEVEL-ONE-MESSAGES
[NO] LEVEL-ZERO-MESSAGES
TOPS-20 RELEASE 6.0 EXEC ENHANCEMENTS Page I-4
04 Jan 85
[NO] WORKING-SET-PRELOADING
CHAPTER II
TOPS-20 RELEASE 6.1 EXEC ENHANCEMENTS
ASSIGN, BACKSPACE, DEASSIGN, DEFINE, DISMOUNT,EOF, MOUNT,
REWIND, SKIP, INFORMATION STRUCTURE,INFORMATION VOLUMES,
and INFORMATION LOGICAL-NAMES
- Colon after device name is now optional.
BUILD and ^ECREATE
- PERMANENT/WORKING INFINITY
- PRESERVE
- TOPS10-PROJECT-PROGRAMMER-NUMBER nn,nn
- No password typeout
^ECEASE
- Requires confirmation, types node name, downtime
- NOW subcommand to shut immediatley after the confirm
COPY
- SUPERSEDE with ALWAYS, OLDER, and NEVER
DDT, MERGE
- /OVERLAY subcommand to force overlaying of existing pages
DEFINE
- Recognition now works
DIRECTORY
- COMPLETE subcommand, display ful filespec of each file
TOPS-20 RELEASE 6.1 EXEC ENHANCEMENTS Page II-2
04 Jan 85
INFORMATION CLUSTER
- Much like INFO DECNET, returns names of all CFS nodes
INFORMATION DECNET
- Allows node name to be specified
INFORMATION LOGICAL-NAMES
- Accepts wildcards in logical name
INFORMATION JOB
- Now outputs Arpanet/DECnet host names
INFORMATION SUPERIORS
- Returns number of superior processes of this exec level
INFORMATION VERSION
- Decimal version numbers if VI%DEC bit is on in version word
LOAD-class-commands
- New switches:
/10-BLISS /36-BLISS
/FAIL /PASCAL
/SAIL /SNOBOL
/ABORT /[NO] FLAG-NON-STANDARD
/[NO] WARNINGS
LOGIN
- /FAST for logging in without taking command files,etc
^ESET [NO] FAST-LOGINS-ALLOWED
Setspd's ENABLE/DISABLE FAST-LOGIN-OPTION
- Displays date and time of last LOGIN
- New system-wide LOGIN.CMD
- New system-wide BATCH.CMD
LOGOUT
TOPS-20 RELEASE 6.1 EXEC ENHANCEMENTS Page II-3
04 Jan 85
- LOGOUT n requires confirmations, types out job info
- New system-wide LOGOUT.CMD
PERUSE
- Runs EDITOR: with read-only option
PUSH
- Runs the EXEC pointed to by DEFAULT-EXEC:
RECEIVE/REFUSE
- USER-MESSAGES for unprived TTMSG jsys
SEND and ^ESEND
- SEND available for unprived users
- New user name argument
SET HOST
- Runs CTERM-SERVER or program pointed to by NRT:
SET STATUS-WATCH
- Allows settable control character which will type
out file status information
SYSTAT
- Displays originating hostname of TCP/IP, LAT,
DECnet connections
^ESET
- [NO] LEVEL-ONE-MESSAGES
- [NO] LEVEL-ZERO-MESSAGES
- [NO] WORKING-SET-PRELOADING
SET DIRECTORY PASSWORD
- Old password not requested in certain cases
TOPS-20 RELEASE 6.1 EXEC ENHANCEMENTS Page II-4
04 Jan 85
SET [NO] TRAP JSYS
- /DEFINED, /UNDEFINED
TERMINAL
- [NO] INHIBIT for graphics terminal
- [NO] RECEIVE advice, user messages, etc
- VT200-SERIES
TYPE
- UNFORMATTED subcommand to type files without CCOC translation
MULTIFORKING FEATURES
/STAY Used for output only programs
/BACKGROUND Used for any program which requires input
/NORMALLY Keeps for in the forground
INFORMATION FORK-STATUS
COMPILE /STAY
CONTINUE fork-name, fork-number
/BACKGROUND, /NORMALLY, /STAY
START /BACKGROUND, /NORMALLY, /STAY
FORK fork-name, fork-number
KEEP
UNKEEP
FREEZE
TOPS-20 RELEASE 6.1 EXEC ENHANCEMENTS Page II-5
04 Jan 85
RESET (*), (.), fork name, fork number
SET NAME
ERUN
SET FILE [NO] EPHEMERAL
SET DEFAULT PROGRAM [NO-]EPHEMERAL
KEEP
NONE
INFORMATION DEFAULT PROGRAM
SET PROGRAM [NO-]EPHEMERAL
KEEP (AND) continue, start, re-enter
NONE
SETSPD:
Dumps copied to DMP:
Daylight savings time can be turned off
Hangup on LOGOUT selectable
APPENDIX A
MULTIFORKING
Multiforking is an EXEC feature that organizes a job's memory into
separate, parallel areas called "forks". Each fork contains one
program and its inferior forks, if any. This organization of memory
means users can run several programs simultaneously while leaving the
terminal free for other work. Once loaded, forks can be invoked
without reinitializing. This means that a user can go from a compiler
to an editor and back again without reloading either program.
Multiforking can replace some applications that require multiple EXECs
via PUSH and POP. Assisted by a new group of multiforking-class EXEC
commands, users can control all their forks from a single EXEC.
Note that is this discussion, "fork name" refers to a fork name or
fork number.
Before reading about the multiforking-class commands, review these
terms:
* FORK
A fork is commonly referred to as a "process" in TOPS-20.
The word fork is preferred when discussing multiforking
because multiforking should not be confused with
multiprocessing, which refers to multiple CPUs. A fork is an
address space in virtual memory that contains a program. In
a single-forking EXEC, a job normally has one fork per EXEC.
In a multiforking EXEC, a job can have several forks per
EXEC.
* KEPT FORK
A kept fork has these characteristics:
o A kept fork is not reset when another program is brought
into memory. Normally, when a program is run, it
replaces or "resets" the fork currently in memory.
However, if the program in memory is a kept fork and a
new program is run, the new program is placed in a new
fork.
MULTIFORKING Page A-2
04 Jan 85
o A kept fork is not cleared from memory with the RESET
command unless the fork is explicitly named, or the
asterisk (*) or period (.) argument used.
o A kept fork can be invoked by typing the kept fork name
as an EXEC command. In addition, kept fork names are
provided full COMND JSYS support. A kept fork name can
be abbreviated to the point where it is unique from EXEC
commands and other kept fork names. ESCAPE recognition
and question mark help also function with kept fork
names.
* CURRENT FORK
The current fork is to commands that deal with programs as
the connected directory is to commands that deal with files.
The current fork is the default fork for multiforking-class
commands that accept an optional fork name argument. The
current fork is also the object of EXEC commands that do not
accept a fork name; for example, EXAMINE and INFORMATION
MEMORY-USAGE.
In the INFORMATION FORK-STATUS display (discussed later), an
arrow (=>) points to the current fork.
* FOREGROUND FORK
A foreground fork is the fork that is in control of the
terminal. When a program is in a foreground fork, all
terminal input and output (with the exception of system
messages and output from background forks) refers to the
foreground fork.
* BACKGROUND FORK
A background fork is a fork that is running without being in
control of the terminal. When a program is placed in the
background, the terminal "stays" at EXEC command level. The
user is then free to use the terminal to run EXEC commands or
other programs.
A background fork does not have to be kept; as long as the
fork is running, it is protected from being reset when
another program is run.
NEW MULTIFORKING-CLASS COMMANDS
Multiforking-class commands allow you to refer to a fork by the fork
name or the fork number.
MULTIFORKING Page A-3
04 Jan 85
@KEEP (FORK) [fork-name]
The KEEP command assigns a fork a "kept" status which protects
the fork from being reset when another program is run. This
command causes the fork to restart at its starting point when the
kept fork name is given as an EXEC command.
@UNKEEP (FORK) [fork-name]
The UNKEEP command clears the "kept" status of a fork. Note that
this command is simply a logical opposite to the KEEP command and
its use is limited. If a kept fork is no longer needed, it is
better to return the fork to the system immediately by using the
RESET command, than to wait for the unkept fork to be reset when
another program is brought into memory.
@FREEZE (FORK) [forkname]
The FREEZE command stops a running background fork. FREEZing a
background fork from EXEC command level has the same effect as
typing CTRL/C while to the foreground fork (the fork in control
of the terminal).
NEW MULTIFORKING COMMAND FIELDS
Several new arguments and switches have been added to EXEC commands to
address multiple forks. Also, the information provided by some
existing INFORMATION command arguments has been expanded. The new and
changed arguments are described below.
SET Command
@SET PROGRAM (NAME) FORK-NAME (ATTRIBUTE) KEEP (AND) ARGUMENT
This command tells the system keep the fork whenever the
specified program is loaded. If the fork is already in memory it
is kept immediately.
KEEP must be followed by one of these arguments:
* CONTINUE
* REENTER
* START
These arguments set the point that the program will restart at
when the fork is invoked by typing the fork name as a command.
CONTINUE restarts the fork at the point where it was halted.
REENTER restarts the fork at its reentry point (for most programs
the reentry point is the same as the starting point). Finally,
START restarts the program at the starting point.
When the fork is kept, the EXEC prints the message [Keeping
FORK-NAME]. When the kept fork name is typed as a command, the
EXEC responds with the message, [Continuing], [Starting], or
[Reentering].
MULTIFORKING Page A-4
04 Jan 85
@SET PROGRAM (NAME) FORK-NAME (ATTRIBUTE) NONE
This command cancels the SET PROGRAM setting for the specified
program. If the program is already in a kept fork, the fork
remains kept but the starting address is set to START.
@SET [NO] DEFAULT (FOR) PROGRAM (ATTRIBUTE) KEEP (AND) ARGUMENT
This command causes any program that is not given in a SET
PROGRAM command to be placed in a kept fork when the program is
placed in memory with the CSAVE, GET, R, RUN and SAVE commands.
Like the SET PROGRAM KEEP command, SET DEFAULT PROGRAM must be
followed by a CONTINUE, START, or REENTER argument.
The SET PROGRAM and SET DEFAULT PROGRAM commands are in effect
for the current EXEC level and should be entered in the
COMAND.CMD file.
The SET NO DEFAULT command clears the default setting.
@SET DEFAULT (FOR) PROGRAM (ATTRIBUTE) NONE
This command is equivalent to the SET NO DEFAULT PROGRAM command;
it clears the setting established with the SET DEFAULT PROGRAM
command.
@SET NAME (OF CURRENT FORK) FORK-NAME
This command changes the name of the current fork to the
specified alphanumeric name. This is useful when a fork name is
similar to or the same as an EXEC command. Note that the fork
must be kept in order to give the fork name as a command.
INFORMATION Command
@INFORMATION (ABOUT) PROGRAM-STATUS
The information displayed by this command has been expanded. The
command now displays the SET PROGRAM and SET DEFAULT PROGRAM
command settings. Also displayed is the status of all forks
belonging to the current EXEC.
@INFORMATION (ABOUT) FORK-STATUS
The new FORK-STATUS argument displays the fork status portion of
the INFORMATION PROGRAM-STATUS display.
@INFORMATION (ABOUT) DEFAULTS (FOR) PROGRAM
This command displays the setting established with the SET
DEFAULT PROGRAM command. This information is also available in
the INFORMATION PROGRAM-STATUS command.
MULTIFORKING Page A-5
04 Jan 85
FORK (IS) [fork-name]
The FORK command now has a fork name argument that is
interchangeable with the existing fork number argument. The FORK
command selects the current fork.
RESET (FORK) [argument]
Four arguments have been added to the RESET command. These
arguments select the fork(s) to be reset:
fork-name fork-number . (the current fork) * (all forks)
The RESET command with no arguments now clears only unkept forks.
@CONTINUE (FORK) [fork-name] [/switch]
The CONTINUE command now has a fork name or number argument which
can be used to select the fork to be continued.
Three new switches have also been added to the CONTINUE command:
/BACKGROUND /NORMALLY /STAY
Two of these switches, /NORMALLY and /STAY, were formerly
keywords. They were changed to switches to avoid ambiguity
between the keyword and the new fork name argument. Also the
/STAY switch is consistent with the load-class commands' /STAY
switch.
/BACKGROUND and /STAY
Both of these switches cause the terminal to "stay" at EXEC
command level while the program continues to run in a background
fork. The switches differ in the way they control the background
fork's terminal I/O.
For terminal output, both /BACKGROUND and /STAY allow the
background fork to send output such as error messages to the
terminal. However with some programs, MACRO for example, output
is blocked by /BACKGROUND.
When the background program requests terminal input, such as
another file to process, /BACKGROUND causes the fork to halt and
display the message [FORK-NAME wants the TTY]. This message is
printed regardless of what the user is doing at the terminal.
The program can then be continued and given input with the
CONTINUE command or by typing the kept-fork name.
The /STAY switch allows the fork to request input from the
terminal. If another fork is in control of the terminal or the
terminal is at EXEC command level, the background fork can
intercept input intended for the EXEC or another program.
Therefore, it is recommend that /STAY be used only for programs
that do not request input from the terminal.
MULTIFORKING Page A-6
04 Jan 85
/NORMALLY
This is the default setting. It continues the fork and places it
in the foreground (in control of the terminal).
@START (PROGRAM) [address] [/switch]
Two of the switches that have been added to the CONTINUE command
have also been added to the START command. The START command
always refers to the current fork; it does not accept a fork
name or number argument.
Note that CONTINUE and START with the /STAY or /BACKGROUND
switches always make the specified fork current. Other
multiforking-class commands, such as KEEP and FREEZE, accept the
name of a noncurrent fork without making the fork current.
APPENDIX B
^E PRIVILEGED COMMANDS
$^ECEASE
Two changes have been made to the ^ECEASE command, which are intended
to prevent the accidental shutdown of the wrong system in a networking
or CFS environment. First, the command displays the name of the
system to be shutdown (for DECnet or ARPANET systems only) and the
time and date of the scheduled shutdown. Second, an additional RETURN
is required to confirm the shutdown.
Also, a new argument, NOW, has been added. ^ECEASE NOW shuts down the
system immediately.
$^ECREATE AND @BUILD COMMANDS
Two subcommands have been added to the ^ECREATE and BUILD commands and
several other subcommands have been changed.
NEW ^ECREATE AND BUILD SUBCOMMANDS
$$TOPS10-PROJECT-PROGRAMMER-NUMBER (FOR COMPATIBILITY) n,n
This subcommand assigns a TOPS-10 project-programmer number to the
directory. This allows TOPS-10 programs that require a PPN to be
compatible with TOPS-20.
$$PRESERVE (SUPERIOR QUOTAS)
This subcommand preserves the values of the superior directory's
PERMANENT, WORKING and MAXIMUM-SUBDIRECTORIES parameters. Normally,
when creating a subdirectory, the values of these parameters are
subtracted from the superior directory. PRESERVE stops this
subtraction.
When used in the BUILD command, PRESERVE requires WHEEL or OPERATOR
privileges.
ENHANCED ^ECREATE AND BUILD SUBCOMMANDS
^E PRIVILEGED COMMANDS Page B-2
04 Jan 85
$$USER-OF-GROUP
To help clarify its meaning, the USER-GROUP subcommand has been
renamed to USER-OF-GROUP.
Also, the number of user groups allowed in a directory and a
subdirectory has been raised from 19 to 40. User groups are assigned
with the USER-OF-GROUP and SUBDIRECTORY-USER-GROUP subcommands.
$$LIST
This subcommand now displays the TOPS-10 PPN assigned to the directory
with the TOPS10-PROJECT-PROGRAMMER-NUMBER subcommand. Also, LIST no
longer displays the directory's password.
$$PUSH
The PUSH subcommand now creates an inferior level of the EXEC defined
by the new system logical name, DEFAULT-EXEC:. By defining
DEFAULT-EXEC: within the job, a user can PUSH to the EXEC of his
choice.
$^ESEND
The EXEC now inserts CRLFs into multiple-line messages, so that words
that are broken across two lines on the sender's terminal, appear on
the same line on the receiving terminal(s).
$^EPRINT
This command now displays the TOPS-10 PPN assigned to the directory.
Also, ^EPRINT no longer displays the directory's password.
$^ESET COMMAND
Three new arguments have been added to the ^ESET command, and the
functions provided by several existing arguments have been expanded.
The new and changed arguments are listed and described below.
NEW ^ESET ARGUMENTS
The new ^ESET arguments provide control of system parameters during
timesharing from the EXEC. Normally these parameters are defined at
system start-up.
$^ESET [NO] LEVEL-ZERO-MESSAGES $^ESET [NO] LEVEL-ONE-MESSAGES
These arguments specify that level zero and level one messages are
sent to all terminals on the system. Level zero messages are
primarily of interest to operations personnel while level one messages
are of interest to all users. Both level zero and level one messages
are always displayed on the console terminal.
^E PRIVILEGED COMMANDS Page B-3
04 Jan 85
The INFORMATION SYSTEM-STATUS command indicates whether or not level
zero and one messages are enabled.
$^ESET [NO] WORKING-SET-PRELOADING
This command specifies that the entire working set of a process is
brought into memory at once when the process is selected to run.
Otherwise, this action occurs on a page-by-page basis.
Working set preloading should be enabled only if the system runs large
compute-bound jobs. If the system runs many interactive jobs, disable
working set preloading with the command, ^ESET NO
WORKING-SET-PRELOADING.
The INFORMATION SYSTEM-STATUS command indicates whether or not working
set preloading is enabled.
ENHANCED ^ESET ARGUMENTS
$^ESET DATE-AND-TIME date-and-time
The scope of this command has been expanded. When given from any
system in a CFS cluster, the command sets the date and time for all
systems in the cluster.
$^ESET [NO] FAST-LOGINS-ALLOWED
This command gives users the option of using the LOGIN command's /FAST
switch. The /FAST switch prevents the processing the LOGIN.CMD and
COMAND.CMD files, the printing of system mail and notice of new mail.
When login command files are used to place users in a structured
environment, the ability to use /FAST can be removed from the EXEC
with the ^ESET NO FAST-LOGINS-ALLOWED command.
To implement this command, a new SMON and TMON JSYS function, .SFXEC,
has been created to allow the system to store site-specific
configuration flags for the EXEC. In future releases, the .SFXEC
function may be used by SETSPD and new ^ESET commands to enable and
disable EXEC features.
$^ESET TERMINAL n m input-speed output-speed
This command can now set the line speeds for a range of terminals.
The lowest terminal line number (n) is given first, followed by a
space and the highest terminal number (m) in the range.
DELETED ^ESET arguments
$^ESET ARPANET
The ARPANET argument has been removed from the ^ESET command. This
function is available with the IPHOST program.
APPENDIX C
EPHEMERAL FORK COMMANDS
The ability to make forks "ephemeral" or transitory has been added to
the EXEC. A program that runs in an ephemeral fork acts like an EXEC
command (excluding those EXEC commands that run programs or otherwise
affect memory). Ephemeral forks and EXEC commands share these
characteristics:
o They do not affect programs in memory. For example, if you
exit a program and issue a SYSTAT command, or run a program
in an ephemeral fork, neither the command nor the ephemeral
fork will disturb the program in memory.
A program that runs ephemerally is always placed in a new
fork.
o They disappear when interrupted or when processing completes.
For example, if you stop execution of a SYSTAT command or an
ephemeral fork with CTRL/C, neither the command nor the
ephemeral fork can be continued.
Whenever you stop or exit an ephemeral fork, the fork is
automatically reset (cleared from memory).
Good candidates for ephemeral forks are programs that, in the user's
environment, should be part of the EXEC. These programs may have
short execution times and simply display information in a manner
similar to the INFORMATION and SYSTAT commands.
Several new commands have been added to the EXEC to run programs
ephemerally. In addition, several commands have been modified to deal
with ephemeral forks.
@SET FILE [NO] EPHEMERAL FILE-SPEC
This command assigns an attribute to the file itself so that whenever
the program is run, it is automatically placed in an ephemeral fork.
EPHEMERAL FORK COMMANDS Page C-2
04 Jan 85
An ephemeral file is run ephemerally only when the program name is
given as an EXEC command. For example, if the file SYS:HOST.EXE is
set ephemeral, it can only be run ephemerally by typing HOST or
SYS:HOST. Running HOST by typing R HOST or RUN SYS:HOST causes the
ephemeral attribute to be ignored.
If the file is in a user directory, it can be run ephemerally by
typing the directory and file names. (When only a file name is given,
the system always searches through SYS:). For example, type
SMITHSCORE to run the SCORE program ephemerally. If the SMITH
directory is part of the job-wide definition of SYS:, SCORE can be run
by typing only the program name.
The command SET FILE NO EPHEMERAL removes the file's ephemeral
attribute.
@SET PROGRAM (NAME) PROGRAM-NAME [NO-]EPHEMERAL
This command tells the system to place the specified program into an
ephemeral fork when the program is run by typing the program name as
an EXEC command. (Recall that the ephemeral attribute is disabled
when the program is run with the R or RUN commands.)
The NO-EPHEMERAL argument command disables the ephemeral attribute for
a user's copy of an ephemeral system program.
@SET [NO] DEFAULT PROGRAM [NO-]EPHEMERAL
The SET DEFAULT PROGRAM EPHEMERAL command sets a global default that
causes any program that is not already given in a SET PROGRAM command
to run ephemerally. The NO-EPHEMERAL argument disables the ephemeral
attribute for the job's copy of any ephemeral SYS: program. The SET
NO DEFAULT command clears the default setting.
@SET DEFAULT PROGRAM NONE
This command is equivalent to the SET NO DEFAULT PROGRAM command. The
command clears the SET DEFAULT PROGRAM setting.
The SET PROGRAM and SET DEFAULT PROGRAM commands are in effect for the
current terminal session. It is recommended that these commands be
placed in the COMAND.CMD file. The INFORMATION PROGRAM-STATUS command
now displays the SET PROGRAM and SET DEFAULT PROGRAM settings.
@INFORMATION DEFAULT PROGRAM
This command displays the default program attribute specified with the
SET DEFAULT PROGRAM command.
@ERUN (PROGRAM) FILE-SPEC
EPHEMERAL FORK COMMANDS Page C-3
04 Jan 85
This command runs a program in an ephemeral fork.
@ERUN SHONET
Is the same as:
@SET PROGRAM SHONET EPHEMERAL
@SHONET
If no directory is given in the filespec, the default is SYS:.
Summary
In summary, the ephemeral commands make programs act like EXEC
commands. There are three ways to run a program in an ephemeral fork:
o By attaching an ephemeral attribute to the file itself with
SET FILE EPHEMERAL.
o By telling the system with SET PROGRAM EPHEMERAL.
o By running the program with the ERUN command.