home PDP-10 TOPS-20 Commands Reference Manual Top: Chapter 2 Command description
Creates a new level of TOPS-20 inferior to the one from which you give the PUSH command.
@PUSH (COMMAND LEVEL)
The PUSH command creates an inferior level of the TOPS-20 command processor (EXEC). The system's SYSTEM:COMAND.CMD file and your login directory's COMAND.CMD file are executed again, you have a fresh copy of memory and can begin giving commands as if you had just logged in. However, job-wide parameters (for example, connected and accessed directories, logical name definitions, most parameters altered by SET commands) are unaffected by the PUSH command and retain their values.
You can use the PUSH command to create an inferior level of an EXEC of your choice. Normally, PUSH creates the EXEC defined by the system logical name, DEFAULT-EXEC:. Use the DEFINE command to define a job logical name, DEFAULT-EXEC:, with the name of the EXEC you want to create each time you PUSH.
Note that many TOPS-20 programs have their own PUSH commands. However, only the EXEC and OPR PUSH commands refer to the job's definition of DEFAULT-EXEC:.
You can use the PUSH command to run two programs at once or to do other work that requires more than one copy of memory. Simply use the CONTINUE /STAY or CONTINUE /BACKGROUND command to continue execution of your current program before using PUSH. After PUSH you can run another program or otherwise alter memory without affecting memory for the first program. See Example 2. But see also Warning, below.
The PUSH command allows you to run several programs at once by running the programs at different EXEC levels. The EXEC's multiforking feature allows you to run multiple programs at the same EXEC level. Working from a single EXEC makes multiprogramming easier to monitor and manage. For information on multiforking see the KEEP command or the TOPS-20 User's Guide.
You can give as many pairs of PUSH and POP commands as necessary to complete your task. Although there is a limit to the number of times you can give PUSH without giving intervening POP commands, this limit is large enough (approximately 24, although smaller for a heavily loaded system) not to interfere with most applications. There is a smaller limit (usually 5) on the number of EXECs that can give Queue-class commands.
Use the INFORMATION SUPERIORS command to learn how many superior EXEC levels you have created.
If you define DEFAULT-EXEC: with the name of a nonexistent EXEC, (if, for example, you make a spelling error in your DEFINE command), the PUSH command ignores the job's definition of DEFAULT-EXEC: and creates the EXEC defined by the system definition.
You can usually log out from a lower level of TOPS-20 than the one to which you logged in. By doing so, you simultaneously conclude all processes of your job. However, if a program (such as, PTYCON) has initialized a level of the TOPS-20 command processor but has withheld log-out capability from it, you must use the POP command, followed, if necessary, by a program command to exit from the program and return to a higher level of TOPS-20, before you can log out.
If you have two programs running at once after using CONTINUE /STAY or CONTINUE /BACKGROUND and PUSH commands (see Hints, above) they may try to access the same files at the same time. Or, TOPS-20 commands given at the lower level may be intercepted by a program running at the higher level. For a discussion of these possibilities, see the Restrictions section of the CONTINUE command description.
The PUSH command preserves your present memory, gives you a fresh copy of memory, and leaves your terminal at a new TOPS-20 command level.
CONTINUE /STAY | for beginning execution of a program before giving the PUSH command |
INFORMATION SUPERIORS | for displaying the number of superior EXEC levels. |
POP | for returning to a previous level of TOPS-20 |
@PUSH TOPS-20 Command processor 7(28)
@RUN TESTF1 ^C @CONTINUE /STAY @PUSH TOPS-20 Command processor 7(28) @RUN DMN ^C @CONTINUE /STAY @PUSH TOPS-20 Command processor 7(28) @RUN PRODUK ^C @CONTINUE /STAY @PUSH TOPS-20 Command processor 7(28) @EDIT ARTIFI.CTL
@DEFINE DEFAULT-EXEC: SYSTEM:EXTENDED-EXEC.EXE.7 @PUSH TOPS-20 Command processor 7(6530)