The Peek/Spy subcommands are: ALLOW - Allow a non-privideged user to watch you with Peek. ATTACH - Attach to another process in you job. DISALLOW - Revoke previously issued ALLOW commands EXIT - Exit interactive Peek/Spy prompting. FORMAT - Format a log file. HELP - Access on-line Peek/Spy help. INSTALL - (Obsolete beginning in Peek/Spy version 4.5) LICENSE - Enter Product Authorization Key. NODE_NAME_CHANGE - Update licensed nodename afer a nodename change. NOSAVE_SCREEN - End screen-saving (on AXP) and terminal-logging. PEEK - (PEEK-Only) Same as WATCH. QUIT - Exit interactive Peek/Spy prompting. REMOVE - (Obsolete beginning in Peek/Spy version 4.5) RT_ENABLE - (VAX-Only) Enable VAX Peek/Spy watching on an RTA unit. SAVE_SCREEN - Start screen-saving (on AXP) and terminal-logging. SHOW - Show various Peek/Spy and system data. SHUTDOWN - Shut down Peek/Spy - Only use from PEEK_SHUTDOWN.COM. SPAWN - Spawn a subprocess. SPY - (SPY-Only) Same as WATCH. WATCH - Watch another user. As shipped, subcommands may be used as verbs during interactive Peek/Spy command prompting (e.g. PEEK> ALLOW), but subcommands must be entered as qualifiers when used as part of a single-line DCL command (e.g. $ PEEK/ALLOW). This default behavior can be changed. See the PEEK Commands Subtopic: /COMMAND_MODE.
1 – ALLOW
(Peek-Only subcommand, not for use with the SPY program.) The ALLOW subcommand is used to allow non-privileged users to watch your terminal using PEEK. Non-privileged users may not watch your terminal unless you first ALLOW them by using this command. When PEEK/ALLOW is used, a parameter specifying one or more valid rights-list identifiers can be specified. In most cases, each username on the system has an identical rights-list identifier. Format: $ PEEK/ALLOW username-and-identifier-list $ PEEK PEEK> ALLOW username-and-identifier-list
1.1 – Parameters
username-and-rights-list-identifier-list Specify a list of usernames and/or rights-list identifiers whose holders may watch your terminal. Full * and % wildcards are supported for usernames, and the UIC:[ggg,mmm] syntax is also supported. It allows a * wildcard for the group or member portion of the UIC. Due to the embedded comma, the "UIC:[ggg,mmm]" syntax in a command must be enclosed in quotes. Each individual item in the list may be preceeded by a minus to reverse the sense of that one item so it disallows instead of allows. Rights-list identifiers held by a process are displayed by the DCL $ SHOW PROCESS/PRIVILEGE command. Once you issue a PEEK/ALLOW command specifying an identifier, any users who has been granted that identifier may watch your terminal. Example: $ PEEK/ALLOW J_JONES,HELPERS,P_SMITH This command allows your terminal to be watched by users J_JONES and P_SMITH and all users with the rights-list identifier HELPERS. The list is checked from left to right, so $ PEEK/ALLOW -J_JONES,* would disallow J_JONES but allow anyone else to watch.
1.2 – Qualifiers
1.2.1 /BACKGROUND
AXP-Only... /[NO]BACKGROUND Synonymous with the /SINGLE_WINDOW and /WINDOW qualifiers. See the PEEK Commands ALLOW Subtopic: /SINGLE_WINDOW.
1.2.2 /BEEP_TERMINAL
/BEEP_TERMINAL = "hot-key-defintion" Defines a hot-key sequence for use while being watched which, when pressed, will cause both the watcher's and user's terminal bells to ring. This may be used to get the watcher's attention while you are being watched. This is useful if the watcher walks away from his terminal. Example: $ PEEK/ALLOW/BEEP_TERMINAL="<F6>" JONES This command allows JONES to watch you and it defines the F6 key as the hot-key which you can use, while being watched, to ring JONES' terminal bell. The default value for this hot-key is taken from the logical USER$BEEP_TERMINAL. This is usually defined system-wide by PEEK_DEFAULTS.COM. A user may supply his own default value in his own process or job or group logical name table, as an alternative to using this ALLOW command qualfier. For a complete description of the syntax used for specifying hot-key definitions, see the top-level PEEK Subtopic: Hot-Keys.
1.2.3 /BP_OUTPUT
/BP_OUTPUT (default) /NOBP_OUTPUT Enables or disables an ALLOWed watcher from diverting the output from your terminal so it goes only to his own terminal. The watched screen appears to just "go dead" during bypass-output until bypass-output is turned back off again. Bypass-output mode is turned on and off through use of the BYPASS_OUTPUT_TOGGLE hot-key. BYPASS_OUTPUT_TOGGLE is used by watchers to watch disconnected terminal-server sessions and terminals which have gone into a hold-screen mode. (For more information, see the PEEK Commands ALLOW Subtopic: /BYPASS_OUTPUT_TOGGLE.) /BP_OUTPUT is a DCL positional qualifier. It can be used at the start of a PEEK/ALLOW command line, before any identifiers, in which case it applies to all identifiers on the command line. It can also be used on a PEEK/ALLOW command line after a particular identifier, in which case it will apply only to that one identifier in the list. Examples: $ PEEK/ALLOW/NOBP_OUTPUT J_JONES,J_DOE $! J_JONES and J_DOE may watch you but without BP_OUTPUT. $ PEEK/ALLOW J_JONES/NOBP_OUTPUT,J_DOE $! J_JONES and J_DOE may both watch you but only J_DOE may $! BP_OUTPUT (since BP_OUTPUT is the default). ALLOW/NOBP_OUTPUT has no effect on SPY, nor on privileged PEEK users.
1.2.4 /BYPASS_OUTPUT_TOGGLE
/BYPASS_OUTPUT_TOGGLE = "hot-key-defintion" Defines a hot-key sequence for use while being watched which, when pressed, turns on and off bypass-output mode. Bypass-output mode causes output going to the terminal being watched to cease being displayed on that terminal. The output goes only to the watcher's terminal. This allows the watcher to watch terminal output despite the terminal having gone into an XOFF state due to being put on hold-screen. Bypass-output mode is particularly useful for watching disconnected sessions on a terminal server, which would otherwise be hung, waiting to be reconnected to a physical terminal. It can also be useful to a watcher when he is watching a terminal on a slow modem line since the watcher will not have to wait while the output goes out over the modem. A user can disable this feature when he issues a PEEK/ALLOW command to allow a non-privileged user to watch him with PEEK. See the PEEK Commands ALLOW Subtopic: /BP_OUTPUT. The default hot-key value for ALLOW/BYPASS_OUTPUT_TOGGLE is taken from the logcial USER$BYPASS_OUTPUT_TOGGLE, usually defined system- wide by PEEK_DEFAULTS.COM. Example: $ PEEK/ALLOW/BYPASS_OUTPUT_TOGGLE="<CTRL-K>" USER1 The above command allows USER1 to watch the current user with PEEK. While being watched, the user may use the hot-key Control-K to turn on and off bypass-output mode. For a complete description of the syntax used for specifying hot-key definitions, see the top-level PEEK Subtopic: Hot-Keys.
1.2.5 /CHAT_TOGGLE
/CHAT_TOGGLE = "hot-key-defintion" Allows the watcher and user to chat, where they can type back and forth to each other, but the keystrokes typed are not entered as input to whatever program the user process currently is running. Specify a hot-key sequence which, when pressed while being watched, will cause Peek/Spy to enter/exit a mode which is similar to "local mode" on a standard terminal. The default hot-key value for ALLOW/CHAT_TOGGLE is taken from the logical USER$CHAT_TOGGLE, usually defined system-wide by PEEK_DEFAULTS.COM. While in chat mode, what the user and watcher type to each other is echoed on both terminals, but will NOT be placed into the user's typeahead buffer, or passed on to the user's running program. This prevents this type of chatting activity from causing program or command errors for the user being watched. Example: $ PEEK/ALLOW JONES /CHAT="<F14>" The above command allows user JONES to watch you with PEEK and defines F14 as the hot-key for entering and exiting chat mode. Whenever the user being watched presses F14, both terminals will go into chat mode until F14 is pressed again. While in chat mode, the watcher and user being watched may type whatever they wish, and it will be displayed on both screens. If chat mode appears not to work and your terminal just beeps when you type, this is because you do not have keyboard input control (see the PEEK Commands ALLOW Subtopic: /TOGGLE_INPUT, which is still active during chat mode unless /SIMULTANEOUS_INPUT is in effect). The keys which are useful while in chat mode are the alphanumeric keys, carriage-return, delete and the arrow keys. You should press carriage-return to end a line, since if the other terminal is not in auto-wrap mode, the other user may not be able to see what you are typing after you reach the margin and only your terminal does an autowrap.
1.2.6 /CUMULATIVE
/[NO]CUMULATIVE Controls whether or not successive ALLOW commands are cumulative. /NOCUMULATIVE causes all prior ALLOW information to be erased, via an implicit DISALLOW, before the current ALLOW command is executed. Example: $ PEEK/ALLOW/NOCUMULATIVE J_DOE The above command erases any and all existing ALLOW permissions before granting permission to J_DOE to watch you. The default value for this qualifier is taken from the logical USER$CUMULATIVE, usually defined by PEEK_DEFAULTS.COM. For /CUMULATIVE, the current qualifier value for /FIRST controls whether the current ALLOW defition is added at the beginning or at the end of any previously-defined ALLOW information. For /NOCUMULATIVE, the current value for the qualifer /KEYS_ERASE controls whether or not hot-key definitions previously defined via ALLOW commands are also erased as part of the implicit DISALLOW. Note that earlier versions of Peek/Spy did not have the /CUMULATIVE qualifier. The value for the ALLOW subcommand in these earlier versions was always /NOCUMULATIVE.
1.2.7 /END_WATCH
/END_WATCH = "hot-key-defintion" Defines a hot-key sequence for use while being watched which, when pressed by the user, will cause a current watcher to stop watching. The default value for ALLOW/END_WATCH is taken from the logical USER$END_WATCH. This is usually defined system-wide by PEEK_DEFAULTS.COM. A user may supply his own default value in his own process or job or group logical name table, as an alternative to using this ALLOW command qualfier. For a complete description of the syntax used for specifying hot-key definitions, see the top-level PEEK Subtopic: Hot-Keys. If this hot-key is not defined, then the user will not be able to stop a watcher who is watching him with PEEK, except by issuing a PEEK/DISALOW command from DCL. Example: $ PEEK/ALLOW/END_WATCH="<F6>" JONES This command allows JONES to watch you and it defines the F6 key as the hot-key which you can use, while being watched, to terminate JONES' watching of you. Note that the ALLOW END_WATCH hot-key has no effect on someone who is watching the user with SPY.
1.2.8 /FIRST
/[NO]FIRST Used with PEEK/ALLOW/CUMULATIVE to specify that the current ALLOW definition should be added to the front of any existing ALLOW list. Example: $ PEEK/ALLOW/FIRST J_DOE/BP_OUTPUT The above adds J_DOE/BP_OUTPUT to the beginning of any existing WATCHER$ALLOW list in one's LNM$JOB logical name table. The default value for /FIRST is taken from the logical USER$FIRST, usually defined system-wide by PEEK_DEFAULTS.COM.
1.2.9 /KB_CONTROL
/KB_CONTROL (default) /NOKB_CONTROL Enables (or disables) an ALLOWed watcher from supplying input for your terminal. /KB_CONTROL is a DCL positional qualifier. It can be used at the start of a PEEK/ALLOW command line, before any identifiers, in which case it applies to all identifiers on the command line. It can also be used on the PEEK/ALLOW command line after a particular identifier, in which case it will apply only to that one identifier in the list. Examples: $ PEEK/ALLOW/NOKB_CONTROL J_JONES,J_DOE $! J_JONES and J_DOE may watch you but without KB_CONTROL. $ PEEK/ALLOW J_JONES/NOKB_CONTROL,J_DOE $! J_JONES and J_DOE may watch you but only J_DOE may toggle $! input (since KB_CONTROL is the default). ALLOW/NOKB_CONTROL has no effect on SPY, nor on privileged PEEK users.
1.2.10 /KEYS_ERASE
/[NO]KEYS_ERASE Controls whether any existing hot-key definitions are also erased as part of the implicit DISALLOW command which is done when /NOCUMULATIVE is in effect. Example: $ PEEK/ALLOW/NOCUMULATIVE/NOKEYS_ERASE J_DOE All former PEEK/ALLOW permissions are cancelled prior to ALLOWing J_DOE to watch, but any hot-keys previously defined via PEEK/ALLOW are retained. The default value is taken from the logical USER$KEYS_ERASE, usually defined system-wide by PEEK_DEFAULTS.COM.
1.2.11 /ONCE
/ONCE /NOONCE (default) Limits ALLOWed watching to a single time. When watching by the ALLOWed user is terminated, he will not be able to watch your terminal again until you again do a PEEK/ALLOW command for him. /ONCE is a DCL positional qualifier. It can be used at the start of a PEEK/ALLOW command line, before any identifiers, in which case it applies to all identifiers on the command line. It can also be used on a PEEK/ALLOW command line after a particular identifier, in which case it will apply only to that one identifier in the list. Examples: $ PEEK/ALLOW/ONCE J_JONES,J_DOE $! J_JONES and J_DOE may watch you only once each. $ PEEK/ALLOW J_JONES,J_DOE/ONCE $! J_JONES and J_DOE may watch you but J_DOE only once. ALLOW/ONCE has no effect on SPY, nor on privileged PEEK users.
1.2.12 /PERMIT_INPUT
/PERMIT_INPUT="hot-key-defintion" Hot-key used to permit a watcher (who is not normally able to have keyboard control) to acquire temporary keyboard control through use of his REQUEST_INPUT hot-key. PERMIT_INPUT can be issued by the user being watched, or by a primary watcher who currently has keyboard control. To successfully grant PERMIT_INPUT, the user granting it must currently have keyboard control (via either SIMULTANEOUS_INPUT or TOGGLE_INPUT). If a PERMIT_INPUT request is rejected (due to not currently having control of the keyboard) then the terminal bell will beep. Once PERMIT_INPUT has been enabled and a watcher then accepts it (by using his REQUEST_INPUT hot-key), the watcher and the user who permitted him may either toggle input between themselves using their TOGGLE_INPUT hot-keys, or may both type simultanously if the PSIMUL qualifier (or default) is in effect for the permitted watcher. (See also similar data for NOBEEP under /PNOBEEP.) Once granted, PERMIT_INPUT can be revoked again at any time by issuing another PERMIT_INPUT. (The PERMIT_INPUT key toggles PERMIT_INPUT on and back off.) A PERMIT_INPUT granted by the user being watched is also revoked whenever the primary watcher (if any) toggles input. Likewise, a PERMIT_INPUT granted by a primary watcher is revoked whenever the user being watched toggles input. Thus input-ability gained through PERMIT_INPUT/REQUEST_INPUT is very temporary. The logical USER$PERMIT_INPUT specifies the default hot-key value for use when being watched. Note that PERMIT_INPUT and REQUEST_INPUT may be used to temporarily grant input-ability to a watcher who otherwise would not be able to gain keyboard control due to keyboard-control licensing-option or ALLOW-command restrictions.
1.2.13 /QUOTE
/QUOTE = "hot-key-defintion" Defines a hot-key sequence for use while being watched which, when recognized, tells PEEK that the user's next keystroke is NOT to be interpreted as a PEEK hot-key, but is to be passed through to the user's terminal instead. This allows the user to press the QUOTE hot-key and follow it with some other PEEK hot-key which he wishes to pass to his running program as input without it being intercepted by PEEK. (Whether or not it is passed to the program is still controlled by the /TOGGLE_INPUT sequence, unless SIMULTANEOUS_INPUT is in effect. See the PEEK Commands ALLOW Subtopic: /TOGGLE_INPUT.) The QUOTE hot-key sequence should be entered by the user immediately before a hot-key keystroke which he wishes to pass through to his terminal. The default value for ALLOW/QUOTE is taken from the logical USER$QUOTE, usually defined system-wide by PEEK_DEFAULTS.COM. Example: $ PEEK/ALLOW/QUOTE="<F7>"/BEEP_TERMINAL="<F6>" USER1 or $ DEFINE USER$QUOTE "<F7>" $ DEFINE USER$BEEP_TERMINAL "<F6>" $ PEEK/ALLOW USER1 In either case, if the watched user presses F6, the bell will be rung on the watcher's terminal. However, if he presses F7 followed by F6, then the F6 sequence will be passed to the user's process (if the user currently has keyboard control). For a complete description of the syntax used for specifying hot-key definitions, see the top-level PEEK Subtopic: Hot-Keys.
1.2.14 /SINGLE_WINDOW
AXP-Only... /[NO]SINGLE_WINDOW Used with NDC's MultiSessions product on AXP to determines whether the ALLOW command applies to the MS Server of the process which issues the ALLOW command, or to the individual MultiSessions NDC- terminal windows from which the command is issued. Use ALLOW /NOSINGLE_WINDOW to allow someone to watch your MS Server process. This allows the watcher to follow you as you switch between individual NDC-terminal windows. Use ALLOW /SINGLE_WINDOW to allow someone to watch only the single NDC-terminal window from which you issue this command. The watcher will need to use /SINGLE_WINDOW on his WATCH command. /SINGLE_WINDOW is synonymous with /BACKGROUND and /WINDOW. The default value for an ALLOW command is determined by the logical USER$BACKGROUND usually defined by PEEK_DEFAULTS.COM. You can override the default by using this command qualifier. Examples: $ PEEK/ALLOW/SINGLE_WINDOW JOE ! Allow JOE to watch only the ! NDC-terminal window from which ! this ALLOW command is issued. $ PEEK/ALLOW/NOSINGLE_WINDOW JOE ! Allow JOE to watch your MS ! Server process, following you ! as you switch between NDC windows.
1.2.15 /TOGGLE_INPUT
/TOGGLE_INPUT = "hot-key-defintion" /NOTOGGLE_INPUT Defines a hot-key sequence for use while being watched which, when pressed, switches control of the user's keyboard between the watcher and the user. If a watcher has taken control of the user's keyboard with PEEK, then when this hot-key is pressed by the user, it returns control of his keyboard back to him/her. The default value for this hot-key is taken from the logical USER$TOGGLE_INPUT, usually defined by PEEK_DFAULTS.COM. If SIMULTANEOUS_INPUT is in effect, both the watcher and the user will be able to provide input for the user at the same time. Pressing the TOGGLE_INPUT hot-key has no effect in this case. If this hot-key is NOT defined (either on the command line or as a logical name) then the user will not be able to regain keyboard control once it has been taken over by a watcher. NOTE: There is a licensing option which will prevent the watcher from ever providing input to the user's terminal. This is for use in banking and other high-security environments. If the TOGGLE_INPUT feature appears not to work at your site, you should check to see if your license specifies NOKB_CONTROL. Use the $ PEEK/SHOW LICENSE command to check your license options. The remainder of this section will assume that SIMULTANEOUS_INPUT is not in effect. When a watcher first begins watching someone, the watcher is not allowed to enter input for the user's process. If he types anything (other than one of his defined hot-key sequences) PEEK throws away the watcher's input and rings the bell on his terminal to remind him that he does not currently have keyboard control. The watcher may press his TOGGLE_INPUT hot-key to swap keyboard control, taking it away from the user being watched. At this point, the bell on the terminal of the user being watched will ring if he attempts to type anything other than his defined hot-key sequences. The user being watched may then press his own TOGGLE_INPUT hot-key sequence to get control of his keyboard back from the watcher. For example, J_DOE issues the command: $ PEEK/ALLOW/TOGGLE_INPUT="<F10>" USER1 After this ALLOW command is issued, USER1 can watch J_DOE with PEEK. While watching J_DOE, USER1 can press his hot-key to take over keyboard control from J_DOE. If J_DOE then tries to type, his terminal bell will just ring to inform him that USER1 currently has keyboard control. J_DOE can then press his F10 key to regain control of his keyboard. For a complete description of the syntax used for specifying hot-key definitions, see the top-level PEEK Subtopic: Hot-Keys. The /TOGGLE_INPUT command qualifier may also be negated. This allows one to override a default TOGGLE_INPUT definition which has been placed in a logical name table. When specified as PEEK/ALLOW/NOTOGGLE_INPUT, this tells PEEK no hot-key should be defined to allow the user to toggle input control while being watched. /NOTOGGLE_INPUT is equivalent to specifying /TOGGLE_INPUT="" (null string). NOTE: The ALLOW/NOTOGGLE_INPUT qualifier prevents a user who issues the command containing it from toggling keyboard input. The ALLOW/NOKB_CONTROL qualifier refers to whether an ALLOWed watcher may take over control of the keyboard of the user being watched.
1.2.16 /WINDOW
AXP-Only... /[NO]WINDOW Synonymous with the /BACKGROUND and /SINGLE_WINDOW qualifiers. See the PEEK Commands ALLOW Subtopic: /SINGLE_WINDOW.
2 – ATTACH
PEEK> ATTACH process_name PEEK> ATTACH/IDENTIFICATION=nnn Used from the PEEK> prompt, the ATTACH subcommand allows one to attach back to another process in one's job, just as with the DCL ATTACH command. You must specify either the process name to attach to, or else you can provide the process ID to attach to with the /IDENTIFICATION=nnn syntax. Example: PEEK> ATTACH JBREWER or PEEK> ATTACH/IDENTIFICATION=6D
3 – DISALLOW
$ PEEK /DISALLOW This subcommand performs the following functions: 1. Lets no other non-privileged users watch your terminal by revoking all permission to watch granted through previous PEEK/ALLOW commands. 2. Any user currently watching with PEEK is forced to stop watching. 3. If any hot-keys were defined with a previous PEEK/ALLOW command (as displayed by $ PEEK/SHOW KEYS), then these hot-key defintions may also be erased, depending on the /KEYS_ERASE value currently in effect. Format: $ PEEK/DISALLOW $ PEEK PEEK> DISALLOW
3.1 – Qualifiers
3.1.1 /BACKGROUND
AXP Only... /[NO]BACKGROUND Synonymous with the /SINGLE_WINDOW and /WINDOW qualifiers. See the PEEK Commands DISALLOW Subtopic: /SINGLE_WINDOW.
3.1.2 /KEYS_ERASE
/[NO]KEYS_ERASE Controls whether any existing hot-key definitions are also erased as part of a DISALLOW command. Example: $ PEEK/DISALLOW/NOKEYS_ERASE All previously granted PEEK/ALLOW permissions are revoked, but any hot-keys defined via previous PEEK/ALLOW commands are retained. The default value is taken from the logical USER$KEYS_ERASE, usually defined system-wide by PEEK_DEFAULTS.COM.
3.1.3 /SINGLE_WINDOW
AXP-Only... /[NO]SINGLE_WINDOW Used with NDC's MultiSessions product on AXP to determines whether the DISALLOW command applies to the MS Server of the process which issues the DISALLOW command, or to the individual MultiSessions NDC-terminal windows from which the command is issued. Use DISALLOW/NOSINGLE_WINDOW to disallow someone to watch your MS Server process. This disallows the watcher from follow you as you switch between individual NDC-terminal windows. Use DISALLOW/SINGLE_WINDOW to disallow someone from watching only the single NDC-terminal window from which you issue the command. /SINGLE_WINDOW is synonymous with /BACKGROUND and /WINDOW. The default value for a DISALLOW command is determined by the logical USER$BACKGROUND usually defined by PEEK_DEFAULTS.COM. You can override the default by using this command qualifier. Examples: $ PEEK/DISALLOW/SINGLE_WINDOW ! Disallow all prior ALLOW ! permissions granted for watching ! your single NDC-terminal window ! from which this DISALLOW command ! is issued. $ PEEK/DISALLOW/NOSINGLE_WINDOW ! Disallow all prior ALLOW ! permissions granted for watching ! your MS Server process, and thus ! from following you as you switch ! between NDC windows.
3.1.4 /WINDOW
AXP Only... /[NO]WINDOW Synonymous with the /BACKGROUND and /SINGLE_WINDOW qualifiers. See the PEEK Commands DISALLOW Subtopic: /SINGLE_WINDOW.
4 – EXIT
PEEK> EXIT The EXIT command is used to exit back to DCL from the interactive command-prompting mode of PEEK.
5 – FORMAT
$ PEEK/FORMAT in_file out_file PEEK> FORMAT in_file out_file The PEEK/FORMAT command may be used to convert the format of log files so that they may be more easily displayed or printed. The Peek/Spy FORMAT subcommand converts a log file containing terminal-control sequences (which might otherwise be difficult to display, print or analyze) into distinct pages of plain-text output, It also separates out redundant output (e.g., when a later output segment overlays an earlier output segment). Example: $ PEEK /USER=SMITH /LOG=SMITH.LOG ! Make Peek log file. $! Watch SMITH for a while, then exit from PEEK. $ PEEK /FORMAT SMITH.LOG SMITH.FMT ! Format log file. The output file (SMITH.FMT) will contain screens which are in a plain-text sequential format. This is useful for typing, printing, or searching. Each output screen is a series of 24 lines (by default, or as specified by /PAGE=n). The initial output-screen width can be specified with /WIDTH=n (the default is 80 columns). The actions of, and some qualfiers for, the FORMAT subcommand differ for AXP and VAX. See the PEEK Commands FORMAT Subtopics: AXP-Only and VAX-Only.
5.1 – Overview
There is an inherent problem in creating an ASCII-stream log file of terminal output, whether it is created by PEEK/LOG, SET HOST/LOG or KERMIT's LOG SESSION command, etc. The problem is that records in a stream output file either have an arbitrary length (as do those made by KERMIT) or no maximum length at all. In the case where an arbitrary length is imposed on the log file, you will see extra carriage-returns embedded in the file when it is typed. In the case of PEEK, which does NOT arbitrarily end a line after 256 bytes (or some such size), the TYPE command, EDT, TPU, etc., all have varying degrees of success in displaying the file's contents. VMS's TYPE command will usually abort if you attempt to type a file which has records longer than 2048 bytes. EDT and TPU have similar record-length limitations. Thus we have added a format command which will process an arbitrary sequence of text and escape and control sequences into a series of output screens.
5.2 – AXP-Only
With PEEK/FORMAT on AXP, a full, new, output screen is appended to the formatted output file whenever any one of the following conditions occurs: 1. A clear-screen sequence in found in the input file. 2. A selective-erase sequence in found in the input file. 3. The screen is cleared because the screen width is changed. 4. Enough lines are scrolled on the screen that some are about to be lost off of the top or bottom of the screen. The output-file format may be varied to take advantage of different printer formats. The default output format is plain text, but other formats are available through the /PRINTER_TYPE=keyword qualifier. The following PRINTER_TYPE keywords are currently defined for AXP: FILE - For plain text into file (this is the default). VT100 - For paged output to a VTxxx type terminal. The output file will have form-feed characters inserted at the page breaks.
5.2.1 – Qualifiers
5.2.1.1 /WIDTH
/WIDTH = page_width Used to specify the initial page width. If /WIDTH is not specified, the default is 80 columns. If /WIDTH is specified without a value, the width of the current terminal is used.
5.3 – VAX-Only
With PEEK/FORMAT on VAX, a full, new, output screen is appended to the formatted output file whenever any one of the following conditions occurs: 1. A clear-screen sequence in found in the input file. 2. A selective-erase sequence in found in the input file. 3. The screen is cleared because the screen width is changed. 4. Enough lines are scrolled on the screen that some are about to be lost off of the top or bottom of the screen. 5. /CURSOR_FLUSH was specified as a negative number and the cursor moves up more than the specified number of lines. 6. /CURSOR_FLUSH was specified as a positive number and the cursor is positioned to the specified line number. These latter two options can be useful for formatting output from programs which don't erase the screen, but just re-position the cursor and overwrite existing text. The output file format may be varied to take advantage of several different printer formats. The default output format is plain text, but other formats are available which will display bolded and underlined sequences as they originally appeared in the file. The following PRINTER_TYPE keywords are currently defined on VAX for use with the /PRINTER_TYPE=keyword qualifier: FILE - For plain text into file (this is the default). VT100 - For paged output to a VTxxx type terminal. DUMB_BS - Overprint BOLD & underline using backspace. DUMB_CR - Overprint BOLD & underline using carriage-returns. LA100, LA120, LA180, LA210, LA50, LA75, LN03, VT200, VT300, VT400 The output file will have form-feed characters inserted at the page breaks. By default these form-feeds are inserted on a separate line, but one can get the form-feeds appended to the last line of text on a page by using the /[NO]CONTINUOUS_PAGES qualifier. This could be useful when one wants to use all lines of a page, but the form- feed on a separate line would cause a page to be skipped between each page of text.
5.3.1 – Qualifiers
5.3.1.1 /CONTINUOUS_PAGES
/[NO]CONTINUOUS_PAGES Specify /CONTINUOUS_PAGES if you want pages separated by a form feed appended to the end of the last line of the page. This is useful when one wants to use all lines of a page, where the form-feed on a separate line could cause a page to be skipped between each page of text. Specify /NOCONTINUOUS_PAGES if you want pages separated by a form feed which is on a line by itself. This is the default.
5.3.1.2 /CURSOR_FLUSH
/CURSOR_FLUSH=n Specify a line number which, if the cursor is positioned back to that line after being on a different line, the current screen contents will be flushed to the output file. This is useful for formatting screens which display data over the top of prior data, rather than clearing the screen before displaying the new data. The default value is zero. This means the cursor position is ignored. If specified as a negative number, this indicates that, if the cursor moves up that number of lines, the current screen contents will be flushed to the output file. Example: $ KERMIT ! Start program. Kermit-32> LOG SESSION PRICES.LOG ! Start log file. Kermit-32> CONNECT TXA6: ! Connect to modem line. ATDT-1-800-234-1998 ! Dial DEC's store. etc. $ PEEK /FORMAT PRICES.LOG PRICES.LIS /CURSOR_FLUSH=3 When DEC's Electronic Store is accessed to look up prices, it positions to line 3, outputs a line of price information, then positions to line 4, etc., until the screen is full. When you tell it to display the next screen, it repeats this process. Using /CURSOR_FLUSH=3 tells the FORMAT command to output the prior screen before figuring out what the next screen will be.
5.3.1.3 /FORM_FEED
/[NO]FORM_FEED Specify /FORM_FEED if you wish to have output pages separated by a form feed character. This is the default. Specify /NOFORM_FEED if you do not wish to have output pages separated by a form feed character.
5.3.1.4 /RECORD_END
/[NO]RECORD_END PEEK/FORMAT tries to intelligently cope with log files which have overly-long lines which have been arbitrary split into more than one log-file record. This is most commonly encountered with Kermit log files, as covered in the PEEK Commands FORMAT Subtopic: Overview. The FORMAT /RECORD_END qualifier specifies that newlines should be inserted between records in the input file. This is the default for all input files, except those with variable-length, maximum 256-byte records and CR carriage- control. Kermit log files have this latter file format. For such files only, the default is /NORECORD_END. Specifying /NORECORD_END directs the FORMAT command not to insert a newline between records if the previous line ends at or before the screen's right margin. This commonly has the effect of concatenating all records in the input file into one continuous stream of input characters, without the FORMAT command adding any newlines. The presumption here is that the log-file contains in it the needed carriage-control characters, and none need to be added at the end of each log-file record.
5.4 – Qualifiers
5.4.1 /PAGE
/PAGE = page_length Specify the height of the screen. This value is used to determine where to insert form feeds in the output file. The default value if /PAGE is not specified is 24 lines. If /PAGE is specified without a value, the value defaults to the length of the current terminal. This qualfier should be specified if you are using a 36 or 48 line screen on a VT420 or other terminal.
5.4.2 /PRINTER_TYPE
/PRINTER_TYPE=keyword /PRINTER_TYPE is used to specify the printer type. The default PRINTER_TYPE is FILE. This produces a plain-text output file with all terminal-control sequences removed. PRINTER_TYPEs available differ for AXP and VAX. for details, see the PEEK Commands FORMAT Subtopics: AXP-Only and VAX-Only.
5.4.3 /SCREEN_SIZE
/SCREEN_SIZE = page_length Synonymous for /PAGE. See PEEK Commands FORMAT Subtopic: /PAGE.
6 – HELP
$ PEEK /HELP [topic] [subtopic] PEEK> HELP [topic] [subtopic] Displays on-line help on Peek/Spy usage. The help topic and subtopic specify aspects of Peek/Spy for which you want further information. You may use the standard VMS wildcard characters * and % (either by themselves or within a topic or subtopic).
7 – LICENSE
$ PEEK /LICENSE When you put a new version of a licensed NDC product on your system, you will be allowed to demo it for a period of time, after which the product will only continue to work if you are under support or make arrangements with NDC for an extension of the demo. (If you received the product through an NDC distributor then they will be able to help you with licensing.) The PEEK/LICENSE command is used when communicating with NDC concerning your license. NDC can give out license keys to extend demos or record support arrangements. The PEEK/LICENSE command gives you a license key which you pass on to NDC. NDC then gives you back a responding key which you enter, updating the NDC license database on your system for the product. The LMF$PEEK.LDB file in PEEK$LOCATION should not be deleted from your system. If it is, then you will need to get a license key from NDC in order to continue to use the product. If you change the PEEK$LOCATION directory on your system, then in order to continue to use the product, you will also need to rename the LMF$PEEK.LDB file into the new directory. (If you are not demoing, then you may alternately copy the file to the new directory, instead of renaming it there.) You must have SYSPRV as an authorized privilege to use the license command. The license command first asks you to enter your exact company name. The company name should be entered as you want it to display in the license message which goes to the terminal when running the product. The name, including all spacing and punctuation, must be communicated to NDC exactly or the license key will not be accepted. Once a company name has been exchanged with NDC, the company name cannot thereafter be changed without first consulting with NDC. After entering the company name, you will be given a license key to transmit to NDC. It should be communicated exactly, including the encoding-type, nodename, etc, as directed on the license screen. If you are not communicating the license key to NDC immediately, then you can exit the license screen by entering a Ctrl-Z at the prompt. You may, alternately, create the file KEY.LIS, containing the necessary licensing information for NDC, by pressing the PF4 key, instead of Ctrl-Z. When you receive a responding key from NDC, you should re-enter the company name exactly as before (if you have exited from the license screen meanwhile). Then enter the responding key, exactly as given by NDC. You will get a key-accepted message if all goes well. If there has been any miscommunication of the company name, license key or encoding type, or the responding key, then you will get an error message and will have to try again.
8 – NODE_NAME_CHANGE
$ PEEK /NODE_NAME_CHANGE If you should change the nodename of a node which is licensed for an NDC product (something we expect would be a very rare occurence) the product will no longer work on that node unless you then use the NODE_NAME_CHANGE command while running the product from that node. This records the nodename change in the NDC license database on your system. The NODE_NAME_CHANGE command cannot be used to put the product onto a different node than the one originally licensed. If you change a nodename and do not use this command, you will later receive a message telling you that you are running a demo version of the software and that it is about to expire. The NODE_NAME_CHANGE command will prompt you for the old name for the node you are running from, and will change the license record for the current node from the old name you give to the current (new) name for that node. The product may not be in use on the system when this command is used. SYSPRV as an authorized privilege is required to use the NODE_NAME_CHANGE command.
9 – NOSAVE_SCREEN
$ PEEK/NOSAVE_SCREEN PEEK> NOSAVE_SCREEN The PEEK/NOSAVE_SCREEN subcommand is used on AXP to end screen-saving for a terminal. On AXP, terminals with the screen-saver feature turned on provide a full initial-screen-contents display for the watcher when they are watched with Peek/Spy. NOSAVE_SCREEN also ends any terminal-logging which is in progress. For more information, see the PEEK Commands Subtopic: SAVE_SCREEN.
10 – PEEK
PEEK> PEEK [/qualifier=] target_list [/qualifiers] (PEEK-Only, not for use with SPY.) The PEEK subcommand may be used to watch someone with PEEK (not SPY) when in interactive command-prompting mode. It is synonymous with the WATCH command. Examples: PEEK> PEEK JOE ! Watch process JOE. PEEK> PEEK/TERMINAL=LTA5723 ! Watch terminal LTA5723. PEEK> PEEK/USER=JBREWER ! Watch user JBREWER. For more information and a full list of PEEK command qualifiers, see the top-level PEEK Subtopic: Watching.
11 – QUIT
PEEK> QUIT The QUIT subcommand is used to exit back to DCL from the interactive command-prompting mode of PEEK. It is synonymous with the EXIT subcommand. Example: $ PEEK PEEK> QUIT $
12 – RT_ENABLE
VAX Only $ PEEK/RT_ENABLE ! VAX Only When an RTA unit logs in it must issue a PEEK/RT_ENABLE command before it can be watched with Peek/Spy. (This command must also be used before a VAX RTA can start NDC's VAX MultiSessions screen-saver which is used for the Peek/Spy initial screen refresh on VAX.) PEEK/RT_ENABLE enables watching of the single RTA terminal from which the command is issued, without affecting other RTAs on the system. Enabling watching of RTAs on AXP uses PEEK/SAVE_SCREEN instead of PEEK/RT_ENABLE.
13 – SAVE_SCREEN
$ PEEK/SAVE_SCREEN PEEK> SAVE_SCREEN The PEEK/SAVE_SCREEN subcommand is used on AXP to start the screen-saver feature for a terminal. On AXP, SAVE_SCREEN also enables watching of RTA terminals. On AXP, terminals with the screen-saver feature turned on provide a full initial-screen-contents display for the watcher when they are watched with Peek/Spy. SAVE_SCREEN is also used on both AXP and VAX to start terminal- logging - the logging to a disk file of all the output sent to the terminal. See the PEEK Commands SAVE_SCREEN Subtopic: /OUTPUT_LOG_FILE. Examples for AXP: $ PEEK /SAVE_SCREEN ! Start screen-saving for SYS$COMMAND. $ SPY /SAVE_SCREEN LTA5059 ! Start screen-saving for LTA5059. Example for AXP or VAX: $ PEEK PEEK> SAVE_SCREEN/LOG ! Start screen-saving with a log file.
13.1 – Description
Screen-saving begins on AXP after a SAVE_SCREEN command has been done. (On VAX, screen-saving is begun by turning on NDC's MultiSessions.) On AXP, RTA terminals may ONLY be watched after they've done a PEEK/SAVE_SCREEN. (The command on VAX is PEEK/RT_ENABLE.) On AXP it is wise, therefore, to do a PEEK/SAVE_SCREEN ahead of time, such as from SYLOGIN.COM or LOGIN.COM, so enough time elapses before watching begins for a full screen to be saved for display when watching begins. On AXP, if screen-saving has not yet been started when watching begins, then PEEK automatically turns on the screen-saver (this does not apply to RTA terminals which must issue a PEEK/SAVE_SCREEN on AXP in order to be watched with Peek/Spy), but in this case there hasn't yet been enough time to save a full screen, so only a partial screen is initially displayed for the watcher, or even no screen at all if nothing has been sent to the terminal since screen-saving started. For VAX, terminal-logging is now begun by using PEEK/SAVE_SCREEN/LOG. Screen-saving and any terminal-logging are both turned off by the NOSAVE_SCREEN command. Terminal-logging alone is turned off with the SAVE_SCREEN/CLOSE_FILE command, without also turning off screen-saving. If a screen-saver is on without a log file, then a log file can be started using the SAVE_SCREEN/LOG[=file] command. When logging is in progress, a new log file can be started with PEEK/SAVE_SCREEN/LOG/NEW_FILE. This closes any existing log file and starts terminal-logging to a new log file.
13.2 – Parameters
AXP-Only... For the SPY program only, you can specify the name of a terminal other than your own for which the screen-saver is to be turned on. You cannot, however, use SPY to start screen-saving with logging for some other terminal than your own. Terminal-logging can only be started from the terminal itself which is to be logged. (You can, of course, watch the terminal with $ SPY/LOG and make a log file that way.) Example: $ SPY /SAVE_SCREEN LTA5059 ! Start screen-saving for LTA5059. You can use the above command to start up screen-saving for LTA5059 before watching it, so you will have an initial full- screen display available when you do start watching LTA5059.
13.3 – Qualifiers
13.3.1 /CLOSE_FILE
$ PEEK/SAVE_SCREEN /CLOSE_FILE The /CLOSE_FILE qualifier closes any existing log file turned on with PEEK/SAVE_SCREEN/LOG, without interrupting the ongoing screen-saving. This means a watcher will still be able to get an initial full-screen display when starting to watch the terminal. Only any on-going terminal-logging is ended with SAVE_SCREEN/CLOSE_FILE. Example: PEEK> SAVE_SCREEN/CLOSE_FILE ! Close current log file.
13.3.2 /LOG_FILE
$ PEEK/SAVE_SCREEN /LOG_FILE [=file_spec] This a synonymous with the /OUTPUT_LOG_FILE qualifier. See the PEEK Commands SAVE_SCREEN Subtopic: /OUTPUT_LOG_FILE.
13.3.3 /MAX_REOPEN
$ PEEK/SAVE_SCREEN/LOG/REOPEN /MAX_REOPEN = blocks /NOMAX_REOPEN Specifies the approximate maximum number of blocks to which a terminal-logging file may grow before a new version of the log file is started, when /REOPEN is in effect. Use /NOMAX_REOPEN to specify that any default /MAX_REOPEN value should be ignored. The default value for /MAX_REOPEN is taken from the logical SAVE$MAX_REOPEN, usually defined by PEEK_DEFAULTS.COM. Example: $ PEEK/SAVE_SCREEN/LOG/REOPEN/MAX_REOPEN=100 For more information, see the PEEK Commands SAVE_SCREEN Subtopic: /REOPEN.
13.3.4 /MIN_REOPEN
$ PEEK/SAVE_SCREEN/LOG/REOPEN /MIN_REOPEN = blocks /NOMIN_REOPEN Specifies the minimum number of blocks to which a terminal- logging file must grow before a new version of the log file is started, when /REOPEN is in effect. Use /NOMIN_REOPEN to specify that any default /MIN_REOPEN value should be ignored. The default value for /MIN_REOPEN is taken from the logical SAVE$MIN_REOPEN, usually defined by PEEK_DEFAULTS.COM. Example: $ PEEK/SAVE_SCREEN/LOG/REOPEN/MIN_REOPEN=10 /MIN_REOPEN is ignored for reopens done as a result of a /TIME_OF_DAY specification. For more information, see the PEEK Commands SAVE_SCREEN Subtopic: /REOPEN
13.3.5 /NEW_FILE
$ PEEK/SAVE_SCREEN/LOG /[NO]NEW_FILE Used to specify that a new terminal-logging file should be started. Any current terminal-logging file is closed. Example: $ PEEK/SAVE_SCREEN/LOG=LOG.LOG ! Start logging to LOG.LOG. $ PEEK/SAVE_SCREEN/LOG=NEWLOG.LOG/NEW_FILE ! Close LOG.LOG and start ! logging to NEWLOG.LOG. The new file will contain the full initial contents of the screen at the time the command is executed.
13.3.6 /OUTPUT_LOG_FILE
$ PEEK/SAVE_SCREEN /OUTPUT_LOG_FILE [=file_spec] SAVE_SCREEN/OUTPUT_LOG_FILE[=file] is used to create a log file containing everything output to the terminal while the screen- saving is in effect. The default filespec is taken from the logical SAVE$OUTPUT_LOG_FILE. This logical may be defined system-wide by PEEK_DEFAULTS.COM, or it may be defined in any of the logical-name tables specified in LNM$PEEK_TABLE_SEARCH_LIST, which is defined by PEEK_DEFAULTS.COM. See the top-level PEEK Subtopic: Defaults. If this logical is not defined and if /OUTPUT_LOG_FILE is specified without the optional file-spec, then PEEK will generate a log file in the current default directory using a default log-file name of: PEEK_TRMLOG_username_terminalname.LOG If a log file is already being made, then it can be closed with a $ PEEK/SAVE_SCREEN/CLOSE_FILE command. To close the current log file and start logging to a new log file use a $ PEEK/SAVE_SCREEN/LOG/NEW_FILE command. The /REOPEN qualifier also affects PEEK/SAVE_SCREEN/LOG. Terminal logging with /SAVE_SCREEN/LOG is terminated by a PEEK/SAVE_SCREEN/CLOSE_FILE command, or a PEEK/NOSAVE_SCREEN command. Example: $ PEEK/SAVE /OUTPUT=SAVE_OUTPUT Note that /LOG and /OUTPUT_LOG are synonymous.
13.3.7 /PERMANENT
$ PEEK/SAVE_SCREEN /PERMANENT /NOPERMANENT (default) Used to specify that the screen-saving (on AXP) or terminal-logging (on AXP or VAX) cannot be shut off for the terminal concerned. Example: $ PEEK/SAVE_SCREEN/PERMANENT ! (AXP-Only) Also applies to terminal-logging on both VAX and AXP. E.g. PEEK> SAVE_SCREEN /LOG=PERMANENT.LOG /PERMANENT The PERMANENT qualifier disallows turning off screen-saving with the NOSAVE_SCREEN command. If there is a log file for the screen-saving, then the logging cannot be turned off if /PERMANENT is used. A permanent screen-saver only goes away when the terminal itself goes away (for LTAs etc which are deleted when the user logs off) or when the system is shut down (for permanent terminals such as TTAs, etc.). The /PERMANENT qualifier should be used with EXTREME CAUTION with logging on direct-connect terminal such as TTA's, TXA's or OPA's since with these terminals the log file will just continue to grow and can't be turned off without rebooting the system. /PERMANENT is mainly intended for security use on such things as dial-up lines, where a log file of the terminal output is desired and the system manager doesn't want the user to be able to stop the logging by doing a NOSAVE_SCREEN or SAVE/CLOSE_FILE command.
13.3.8 /REOPEN
$ PEEK/SAVE_SCREEN/LOG /[NO]REOPEN Used to specify that new versions of a terminal-logging file should [not] be periodically opened. Example: $ PEEK/SAVE_SCREEN/LOG/REOPEN /REOPEN re-opens a new version of the log file whenever it reaches a certain number of disk blocks, or whenever a certain time of day or span of time has elapsed, providing at least a certain minimum number of blocks have been written to the file. The maximum and minimum blocks and the time of day and time span are specified using the /MAX_REOPEN, /MIN_REOPEN, /SPAN and /TIME_OF_DAY qualifiers, or by defaults for these which are specified in logical names. Each reopened log files has a copy of the initial full-screen at the time the log file was reopened. The default /REOPEN value is taken from the logical SAVE$REOPEN. /NOREOPEN is used on the command line to override a default /REOPEN value. (Note: /APPEND is ignored for PEEK/SAVE/LOG when /REOPEN is in effect.)
13.3.9 /SPAN
$ PEEK/SAVE_SCREEN/LOG/REOPEN /SPAN = minutes /NOSPAN Specifies the approximate time period which should elapse before a new version of a terminal-logging file should be started, when /REOPEN is in effect. Use /NOSPAN to specify that any default /SPAN value should be ignored. The default value for this qualifier is taken from the logical name SAVE$SPAN. Example: $ PEEK/SAVE_SCREEN/LOG/REOPEN/SPAN=10 The number of minutes can contain a decimal point. The minimum acceptable value is 1 minute. For more information, see the PEEK Commands SAVE_SCREEN Subtopic: /REOPEN
13.3.10 /TIME_OF_DAY
$ PEEK/SAVE_SCREEN/LOG/REOPEN /TIME_OF_DAY = hh:mm /NOTIME_OF_DAY Specifies the approximate time of day when a new version of a terminal-logging file should be started (when /REOPEN is in effect). Use /NOTIME_OF_DAY to specify that any default /TIME_OF_DAY value should be ignored. The default value for this qualifier is taken from the logical name SAVE$TIME_OF_DAY. Example: $ PEEK/SAVE_SCREEN/LOG/REOPEN/TIME_OF_DAY=23:59 The above command specifies that a new log file version should be created at 1 minute before midnight each day. Valid values for /TIME_OF_DAY are 00:00 through 23:59. Note that all 5 characters of the hh:mm syntax are required in all cases. Midnight would be specfied as 00:00. (The special value /TIME_OF_DAY=-1 is the equivalent of /NOTIME_OF_DAY and causes the qualifier to be ignored.) Examples: The log file will be reopened at: /TIME_OF_DAY=00:00 12:00 AM /TIME_OF_DAY=00:01 12:01 AM /TIME_OF_DAY=01:00 1:00 AM /TIME_OF_DAY=12:00 12:00 PM /TIME_OF_DAY=14:03 2:03 PM Any /MIN_REOPEN value is ignored when reopening a file at the /TIME_OF_DAY specified. For more information, see the PEEK Commands SAVE_SCREEN Subtopic: /REOPEN
14 – SHOW
$ PEEK /SHOW [ALL] (default) PEEK> SHOW [ALL] (default) $ PEEK /SHOW ALLOWS PEEK> SHOW ALLOWS $ PEEK /SHOW KEYS PEEK> SHOW KEYS $ PEEK /SHOW LICENSE PEEK> SHOW LICENSE $ PEEK /SHOW PEEK PEEK> SHOW PEEK $ PEEK /SHOW USERS PEEK> SHOW USERS $ PEEK /SHOW VERSION PEEK> SHOW VERSION $ PEEK /SHOW WATCHER PEEK> SHOW WATCHER Displays PEEK-related information.
14.1 – ALL
$ PEEK /SHOW [ALL] (default) PEEK> SHOW [ALL] (default) Displays PEEK-related information which includes the version of PEEK, licensing information, ALLOW information, and hot-key information (hot-keys for use both when being watched and when watching another). The /SINGLE_WINDOW qualifier is used in conjuction with NDC's MultiSessions product to show information for either the MS Server process or for just the single NDC-terminal window which issues the SHOW command. See the PEEK Commands SHOW Subtopic: /SINGLE_WINDOW.
14.2 – ALLOWS
$ PEEK/SHOW ALLOWS PEEK> SHOW ALLOWS Displays the list of identifiers and usernames which you have allowed to watch your process with the ALLOW subcommand. (For more information about the PEEK ALLOW subcommand, see the top-level PEEK Subtopic: Commands ALLOW.) The display also tell you whether or not permission to watch was granted on a once-only basis or as many times as desired, and whether bypassing output or keyboard control were disallowed for the ALLOWed users. This command will also display any hot-key sequences which have been defined for use while you are being watched by another. The /SINGLE_WINDOW qualifier is used in conjuction with NDC's MultiSessions product to show information for either the MS Server process or for just the single NDC-terminal window which issues the SHOW command. See the PEEK Commands SHOW Subtopic: /SINGLE_WINDOW. Format: $ PEEK/SHOW ALLOWS PEEK> SHOW ALLOWS
14.3 – KEYS
$ PEEK /SHOW KEYS PEEK> SHOW KEYS Displays information on the hot-keys which are defined for use when being watched and when watching another. The /SINGLE_WINDOW qualifier is used in conjuction with NDC's MultiSessions product to show information for either the MS Server process or for just the single NDC-terminal window which issues the SHOW command. See the PEEK Commands SHOW Subtopic: /SINGLE_WINDOW.
14.4 – LICENSE
$ PEEK /SHOW LICENSE PEEK> SHOW LICENSE Displays license information.
14.5 – PEEK
$ PEEK /SHOW PEEK PEEK> SHOW PEEK Displays any other nodes in the cluster which have started PEEK.
14.6 – USERS
$ PEEK /SHOW USERS [node::][spec,spec,...] PEEK> SHOW USERS [node::][spec,spec,...] Displays data about current users on the system. This helps you more easily isolate the users whom you want to watch. A parameter, or list of parameters, can be used to qualify which users are displayed. These parameters take the standard VMS wildcards * and %. A nodename can be prefixed before the first user specification in the list. In this case, any users on that node matching any of the user specifications are displayed. E.g. $ PEEK/SHOW USERS ALPHA::SYS,P*USER will display any users on node ALPHA that either begin with SYS or else start with a 'P' and also contain the string 'USER'. (Note that the use of nodenames for the SHOW USERS command differs from the use of nodenames in other Peek commands. For SHOW USERS, only the first specification in the list may have a nodename prepended to it. That nodename applies to all of the subsequent user specs in the list.) The data shown, and the format of the /SHOW USERS display, are user-definable; see the PEEK manual for details on how you can customize the /SHOW USERS display to your liking. The default format for /SHOW USERS is a look-alike for the VMS Version 5.1 DCL SHOW USERS display.
14.7 – VERSION
$ PEEK /SHOW VERSION PEEK> SHOW VERSION Display the version of PEEK which is currently running.
14.8 – WATCHER
$ PEEK /SHOW WATCHER PEEK> SHOW WATCHER Displays the hot-keys defined for use when watching another.
14.9 – Qualifiers
14.9.1 /BACKGROUND
AXP Only... /[NO]BACKGROUND Synonymous with the /SINGLE_WINDOW and /WINDOW qualifiers. See the PEEK Commands SHOW Subtopic: /SINGLE_WINDOW.
14.9.2 /SINGLE_WINDOW
AXP-Only... /[NO]SINGLE_WINDOW Used with NDC's MultiSessions product on AXP to determines whether the SHOW command applies to the MS Server of the process which issues the SHOW command, or to the individual MultiSessions NDC- terminal windows from which the command is issued. Use SHOW/NOSINGLE_WINDOW to show the ALLOW and hot-key infomation for your MS Server process. Use SHOW/SINGLE_WINDOW to show the ALLOW and hot-key information for the single NDC-terminal window from which you issue the command. /SINGLE_WINDOW is synonymous with /BACKGROUND and /WINDOW. The default /SINGLE_WINDOW value for a SHOW command is determined by the logical USER$BACKGROUND usually defined by PEEK_DEFAULTS.COM. You can override this default by using this command qualifier. Examples: $ PEEK/SHOW/SINGLE_WINDOW ! Show ALLOW and hot-key information ! for the single NDC-terminal window ! from which this command is issued. $ PEEK/SHOW/NOSINGLE_WINDOW ! Show ALLOW and hot-key information ! for your MS Server process.
14.9.3 /WINDOW
AXP Only... /[NO]WINDOW Synonymous with the /BACKGROUND and /SINGLE_WINDOW qualifiers. See the PEEK Commands SHOW Subtopic: /SINGLE_WINDOW.
15 – SHUTDOWN
$ PEEK /SHUTDOWN PEEK> SHUTDOWN This subcommand is normally only issued from PEEK_SHUTDOWN.COM. The subcommand handles part of shutting down Peek/Spy on the system, but does not completely shut Peek/Spy down. Therefore, PEEK/SHUTDOWN should only normally be done by PEEK_SHUTDOWN.COM. Doing a PEEK/SHUTDOWN without doing the rest of PEEK_SHUTDOWN.COM can leave Peek/Spy in an inoperable state.
16 – SPAWN
PEEK> SPAWN This command can be used from the PEEK> prompt to spawn a subprocess. The optional parameter is a command string to be executed by the spawned subprocess. The SPAWN command also takes the following qualifiers: /CARRIAGE_CONTROL - Controls subprocess prompt string format. /CLI - To specify a command line interpreter other than DCL. /INPUT - Where the subprocess gets its input commands. /KEYPAD - Whether DEFINE/KEY settings are inherited. /LOG - Display process name when re-attaching to process. /LOGICAL_NAMES - Whether logical names are inherited. /NOTIFY - If a message is received when subprocess finishes. /OUTPUT - Where subprocess sends its output. /PROCESS - Name of the subprocess to be created. /PROMPT - The prompt string to use for subprocess. /SYMBOLS - Whether symbol definitions are inherited. /WAIT - Does parent wait for subprocess (default=yes). For further details, use VMS's HELP on SPAWN, or see the description of LIB$SPAWN in the VAX/VMS Run-Time Library Routines Reference Manual. Examples: PEEK> SPAWN SHOW TIME 20-FEB-1992 17:13:04 %PEEK-I-RETURNED, control returned to process D_STROM PEEK> SPAWN $ SHOW TIME 20-FEB-1992 17:13:19 $ LOG Process D_STROM_1 logged out at 20-FEB-1992 17:13:21.54 %PEEK-I-RETURNED, control returned to process D_STROM PEEK> PEEK> SPAWN/NOWAIT/INPUT=MGR$:CHECK.COM/OUTPUT=MGR$:CHECK.LOG %PEEK-I-SPAWNED, process D_STROM_1 spawned PEEK>
17 – SPY
SPY> SPY [/qualifier=] target_list [/qualifiers] (SPY-Only, not for use with PEEK.) The SPY subcommand may be used to watch someone with SPY (not PEEK) when in interactive command-prompting mode. It is synonymous with the WATCH command. Examples: SPY> SPY JOE ! Watch process JOE. SPY> SPY/TERMINAL=LTA5723 ! Watch terminal LTA5723. SPY> SPY/USER=JBREWER ! Watch user JBREWER. For more information and a full list of SPY command qualifiers, see the top-level PEEK Subtopic: Watching.
18 – WATCH
PEEK> WATCH [/qualifier=] target_list [/qualifiers] SPY> WATCH [/qualifier=] target_list [/qualifiers] The WATCH command is used to watch someone when in the interactive command-prompting mode of Peek/Spy. Examples: PEEK> WATCH JOE ! Watch process JOE. PEEK> WATCH/TERMINAL=LTA5723 ! Watch terminal LTA5723. SPY> WATCH/USER=JBREWER ! Watch user JBREWER. For more information and a full list of WATCH command qualifiers, see the top-level PEEK Subtopic: Watching.
19 /COMMAND_MODE
Command mode allows subcommands to be issued as verbs instead of as command qualifiers. As shipped, command mode is the default mode used during Peek/Spy interactive command prompting, and non-command mode is used for single-line DCL Peek/Spy commands. As shipped: In single-line DCL commands, subcommands are qualifiers: $ PEEK /ALLOW PETE ! Allow PETE to watch you. $ PEEK /SHOW USERS ! Show users on system. $ PEEK JOE ! Watch process JOE. During interactive command-prompting, subcommands are verbs: $ PEEK ! Enter command-prompting mode. PEEK> ALLOW PETE ! Allow PETE to watch you. PEEK> SHOW USERS ! Show users on system. PEEK> WATCH JOE ! Watch process JOE. The subcommands which are accepted as verbs in command mode are: ALLOW, ATTACH, DISALLOW, EXIT, FORMAT, HELP, LICENSE, NODE_NAME_CHANGE, NOSAVE_SCREEN, PEEK (for PEEK), QUIT, RT_ENABLE (VAX-only), SAVE_SCREEN, SHOW, SHUTDOWN, SPAWN, SPY (for SPY), and WATCH. When in command mode, you must use the WATCH (or PEEK for Peek, or SPY for Spy) verb when you want to watch someone. E.g. PEEK> WATCH JOE ! Not PEEK> JOE. The qualifier form of all the above subcommands is also still accepted when in command mode, e.g. "PEEK> /WATCH JOE" is accepted.
19.1 – Disabling Command Mode
If desired, you can disable command mode, so subcommands must always be entered as command qualifiers, even during interacive command prompting. To disable command mode during Peek/Spy command prompting, define the logical name WATCHER$COMMAND_MODE_PROMPT as False. This logical name can be defined system-wide by PEEK_DEFAULTS.COM, or it can be locally defined in any of the logical-name tables specified by LNM$PEEK_TABLE_SEARCH_LIST, which is defined by PEEK_DEFAULTS.COM. When WATCHER$COMMAND_MODE_PROMPT is FALSE, subcommands must always be entered as command qualifiers, even during command prompting. Example: $ PEEK PEEK> /ALLOW JOE ! Not PEEK> ALLOW JOE PEEK> /WATCH * ! Not PEEK> WATCH *
19.2 – Forcing Command Mode
The /COMMAND_MODE qualifier can be used to force command-mode. After entering the /COMMAND_MODE qualifier, you will not need to use a slash on the command line, but can enter the various subcommands as verbs. You can force command-mode syntax, even for single-line DCL Peek/Spy commands by changing the Peek/Spy foreign command defintions to include the /COMMAND_MODE qualifier. Change the DCL definitions of the PEEK and SPY symbols from: (The _Vx should be replaced with _V5 or _V6 or _V7.) $ PEEK :== $ PEEK$LOCATION:PEEK_Vx $ SPY :== $ PEEK$LOCATION:SPY_Vx to $ PEEK :== $ PEEK$LOCATION:PEEK_Vx/COMMNAD_MODE $ SPY :== $ PEEK$LOCATION:SPY_Vx/COMMAND_MODE Once the PEEK and SPY symbols are so defined, Peek/Spy subcommands may be used as verbs in single-line DCL commands. Example: $ PEEK ALLOW JOE ! Instead of $ PEEK /ALLOW JOE. $ PEEK WATCH * ! Instead of $ PEEK /WATCH *. Note that in command mode, the WATCH verb is required. Wrong in command mode: $ PEEK JOE ! Not accepted in command mode. Right in command mode: $ PEEK WATCH JOE ! WATCH verb is required syntax.