                                       /           Guide to Installing and Using WATCHER                  September, 2010       @           This manual describes the installation, configuration,@           and operation of WATCHER, an idle terminal monitor for           VMS systems.        A           Revision/Update Information:  This is a revised manual.   =           Operating System and Version: VAX/VMS V5.4 or later   =                                         OpenVMS Alpha V6.1 or -                                         later   A                                         OpenVMS Industry Standard 8                                         64 V8.2 or later  ,           Software Version:             V4.0                           "           ________________________           07 Sep 2010              __________?           Copyright 2010 Matthew Madison. All rights reserved.   <           Redistribution and use in source and binary forms,>           with or without modification, are permitted provided0           that the following conditions are met:  A           o  Redistributions of source code must retain the above >              copyright notice, this list of conditions and the"              following disclaimer.  >           o  Redistributions in binary form must reproduce the@              above copyright notice, this list of conditions andA              the following disclaimer in the documentation and/or <              other materials provided with the distribution.  <           o  Neither the name of the copyright owner nor the;              names of any other contributors may be used to :              endorse or promote products derived from this@              software without specific prior written permission.  <           THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS=           AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED @           WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED9           WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A >           PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL;           THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ?           ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, >           OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED?           TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS =           OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) @           HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER;           IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING <           NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF:           THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE%           POSSIBILITY OF SUCH DAMAGE.                        A           _______________________________________________________              Contents  A                 _________________________________________________ A                 PREFACE                                         v   A           _______________________________________________________ A           CHAPTER 1  INSTALLING WATCHER                       1-1   A                 _________________________________________________ A                 1.1   REQUIRED LOGICAL NAMES                  1-2   A                 1.1.1     Logical Name for Help Library  _    1-2   A                 _________________________________________________ A                 1.2   PRIVILEGES REQUIRED                     1-2   A                 _________________________________________________ A                 1.3   OTHER REQUIREMENTS                      1-3     A           _______________________________________________________ A           CHAPTER 2  CONFIGURING WATCHER                      2-1   A                 _________________________________________________ A                 2.1   SETTING UP WATCH RULES                  2-1   A                 2.1.1     Identifying Terminals  _________    2-2   A                 2.1.2     WATCH Criteria  ________________    2-2   A                 2.1.3     Terminal Groupings  ____________    2-3   A                 _________________________________________________ A                 2.2   EXCLUSIONS AND OVERRIDES                2-4   A                 _________________________________________________ A                 2.3   SAVING CONFIGURATIONS                   2-4   A                 2.3.1     VMScluster Environments  _______    2-5   A                 2.3.2     Editing Configurations  ________    2-5   A                                                               iii                     Contents          A                 _________________________________________________ A                 2.4   DECWINDOWS SUPPORT                      2-6     A           _______________________________________________________ A           CHAPTER 3  CUSTOMIZED LOGOUT HANDLING               3-1   A                 _________________________________________________ A                 3.1   ENABLING CUSTOM LOGOUT PROCESSING       3-1   A                 _________________________________________________ A                 3.2   THE FORCE_EXIT PROGRAM                  3-2     A           _______________________________________________________ A           CHAPTER 4  TROUBLESHOOTING WATCHER                  4-1   A                 _________________________________________________ A                 4.1   FORCING WAKEUPS                         4-2     A           _______________________________________________________   '           PART II  COMMAND DESCRIPTIONS :                 WCP                                  CMD-3:                 @ (REDIRECT COMMAND INPUT)           CMD-5:                 EXCLUDE                              CMD-6:                 EXIT                                 CMD-9:                 HELP                                CMD-10:                 OVERRIDE                            CMD-11:                 QUIT                                CMD-17:                 RESET                               CMD-18:                 SAVE                                CMD-19:                 SET ACTION                          CMD-20:                 SET BELL                            CMD-21:                 SET DAYS                            CMD-22:                 SET DEBUG                           CMD-23:                 SET DECWINDOWS                      CMD-24:                 SET EVENT_LOG                       CMD-25             iv         A                                                          Contents           :                 SET INSWAP                          CMD-26:                 SET INTERVAL                        CMD-27:                 SET MULTIWARN                       CMD-28:                 SET VERIFY                          CMD-29:                 SET WATCH_DEFAULT                   CMD-30:                 SHOW                                CMD-33:                 SHUTDOWN                            CMD-35:                 WATCH                               CMD-36                                                                A                                                                 v                    A           _______________________________________________________              Preface   <           One of the first programs a new VMS system manager<           usually needs is an "idle terminal monitor" (ITM).=           That is, a program to monitor terminal activity and @           logout those users whose terminals remain inactive for>           an extended period of time. An ITM helps ensure that>           system resources are not wasted and helps reduce the@           possibility of intruders using unattended terminals as+           a means of entry into the system.   ;           Unfortunately, an ITM can also be an annoyance to =           system users. A simple ITM can victimize legitimate ?           users who may need to remain logged in but idle while 9           they are at work. This can lead to clever users :           devising "hacks" to evade the ITM, defeating the6           purpose of using the ITM in the first place.  <           WATCHER has a high degree of flexibility, allowing=           system managers to decide how to accommodate users' ?           needs while still addressing operational and security >           issues. WATCHER is fully configurable, providing the           following features:   ?           o  You can tell WATCHER which terminals to watch, and A              on a per-terminal basis, what measurements (CPU use, =              process I/O count, terminal I/O count) to use as >              criteria for determining idleness, and how long a>              terminal should be idle before the user should be              forced off.  ?           o  Users can be excluded from interference by WATCHER >              based on any combination of username, UIC, a held@              identifier, privileges, terminal device and/or port=              name, time-of-day/day-of-week, and name of image               being run.       A                                                                 v                     Preface           A           o  You can override or modify the watch criteria and/or =              idle times for any user based on any combination =              of username, UIC, a held identifier, privileges, ?              terminal device and/or port name, time-of-day/day- 2              of-week, and name of image being run.  ?           Through the use of these features, the system manager <           should be able to configure WATCHER to handle most8           types of terminals and accommodate most users.  L           __________________________________________________________________             Intended Audience   8           This manual is intended for the system manager8           or other person responsible for installing and           configuring WATCHER.  L           __________________________________________________________________             Document Structure  8           This document consists of two parts. The first<           describes the installation and use of WATCHER. The=           second describes all of the WATCHER Control Program #           (WCP) commands in detail.   L           __________________________________________________________________             Support for WATCHER   1           There is no formal support for WATCHER.                            vi                     A           _______________________________________________________       1      Installing WATCHER      7           To use WATCHER, you need the following files:   A           WATCHER.COM             Command procedure that executes )                                   WATCHER   8           WATCHER.EXE             The main WATCHER image  =           WCP.EXE                 The WATCHER Control Program   <           FORCE_EXIT.EXE          $FORCEX program for use in:                                   custom logout procedures  6           WCP_HELPLIB.HLB         Help library for WCP  <           DECW_STARTLOGIN.COM     Part of DECwindows support  ?           WATCHER_CONFIG.WCFG     You create this file with WCP   8           WATCHER_STARTUP.COM     Sample startup command+                                   procedure   9           WATCHER_SHUTDOWN.COM    Sample shutdown command +                                   procedure   ?           SAMPLE_CONFIG.WCP       Sample configuration commands   <           WATCHER_                Template for custom logout,           LOGOUT.TEMPLATE         procedures  :           The package comes with the object code files and<           libraries and a command procedure called LINK.COM,&           for creating the two images.  ?           It is easiest to simply place all of the files in the ?           distribution in one directory, run LINK.COM to create ;           the images, then edit WATCHER_STARTUP.COM and the <           sample configuration commands in SAMPLE_CONFIG.WCP?           as needed for your system. Then all you need to do is >           to run WCP, execute the WCP command file you created;           from the sample, which in turn creates a WATCHER_ ?           CONFIG.WCFG file, then execute WATCHER_STARTUP.COM to $           start the Watcher process.  A                                                               1-1                     Installing WATCHER        L           __________________________________________________________________       1.1    Required Logical Names  >           The three system-wide logical names WATCHER requires           are:  =           WATCHER_DIR             Should point to location of ?                                   images and command procedures   ?           WATCHER_CONFIG          Configuration file to be used   >           WATCHER_TRACE           Trace file; use NL: if debug*                                   disabled  7           They should all be defined in executive mode.   %           ___________________________   '    1.1.1  Logical Name for Help Library   =           The help library for WCP may be placed in SYS$HELP, >           or, if you define the logical name WCP_HELPLIB to be>           the full path name of the file, anywhere else on the=           system. The sample WATCHER_STARTUP.COM includes the 6           necessary DEFINE command to do this for you.  L           __________________________________________________________________      1.2    Privileges Required   :           The account that is used for the WATCHER process,           requires the following privileges:  <           CMKRNL         Required for DECwindows support and$                          disconnects  9           PRMMBX         For defining the command mailbox   1           PSWAPM         Required for disconnects   >           SHARE          For sending warning messages to other)                          users' terminals   9           SYSNAM         For defining the command mailbox   7           SYSPRV         (optional) to ensure access to *                          appropriate files  
           1-2          A                                                Installing WATCHER             :           WORLD          For getting information about and*                          killing processes  <           SYSPRV is not needed if you make sure that WATCHER?           has enough access to read its configuration files and >           write its log and trace files (if used). Both CMKRNL@           and SYSPRV are required for DECwindows support. CMKRNL=           and PSWAPM are required to perform virtual terminal            disconnections.   L           __________________________________________________________________      1.3    Other Requirements  ?           The RUN command in WATCHER_STARTUP.COM should provide ?           the WATCHER process with sufficient quotas to operate ;           on most systems. CPU and memory requirements will >           vary depending on the number of rules in the WATCHER>           configuration, peak number of interactive users, and=           peak number of watched users. You may wish to refer =           to the following table in computing expected memory 2           resources needed by the WATCHER process:  8           Memory required per WATCH rule       206 bytes  8           Memory required per EXCLUDE or       507 bytes           OVERRIDE rule   8           Memory required per interactive      465 bytes           process   8           Memory required per watched          531 bytes           process   8           Size of WATCHER code (approximate)   18K bytes  >           DECwindows support also requires additional overhead:           for access to the job logical name tables of all;           interactive and detached processes on the system.   A                                                               1-3                      A           _______________________________________________________       2      Configuring WATCHER       =           The WATCHER Control Program (WCP) is used to create @           WATCHER configurations. WCP is designed to be executed9           as a VMS foreign command. To set up the foreign $           command, define the symbol  5                            $ WCP :== $WATCHER_DIR:WCP   @           Once the symbol is set up, you can invoke WCP with the           command:                               $ WCP  :           WCP will automatically load the contents of your4           defined WATCHER_CONFIG file, if it exists.  L           __________________________________________________________________       2.1    Setting up WATCH Rules  >           The WATCH command sets up rules that determine which=           terminals get watched, how to determine whether the >           terminals are active, and how long terminals must be@           inactive before a user can be forced off. For example:  N                            WCP> WATCH *$RT*/MEASURE=PROCESS_IO/LOGOUT=00:15:00  =           This command sets up a rule for watching all DECnet ;           remote logins, using changes in total process I/O ?           (buffered plus direct) to determine process activity,2:           and causing logouts to occur after 15 minutes of           inactivity.o  @           Note: You must have at least one WATCH command in your           configuration.  A                                                               2-1t s                  Configuring WATCHER         %           ___________________________d      2.1.1  Identifying Terminalsi  @           WATCH commands take any wildcard pattern. All terminal;           device names that match the specified pattern areo;           watched. The device names used by WATCHER are thee;           physical device names of terminals; if the system <           is part of a VMScluster, SCS node name is prefixed=           to the device name, as is normally done by VMS withi%           cluster-accessible devices.d  7           If the terminal device driver supports remotef;           port identification, as does the LTDRIVER for LAT <           terminals, the remote port information can also be;           used as a match criterion by using the /ACCPORNAM 8           qualifier. The port name can be specified as a(           wildcard pattern. For example:  @                            WCP> WATCH *$LT*/ACCPORNAM="TRMSRV/*"  <           This command would cause the terminals attached to/           terminal server TRMSRV to be watched.E  %           ___________________________C      2.1.2  WATCH Criteria  >           WATCHER gives you the choice of using one or more of<           the following measurements as criteria for judging/           whether a terminal or user is active:A  ;           TERMINAL_IO        the I/O operation count on theS,                              terminal device  ;           CPU                The total CPU time used by the 8                              process owning the terminal=                              plus all of its subprocesses, in )                              centiseconds_  ?           PROCESS_IO         the sum of the buffered and direct_=                              I/O counts of the process owningC9                              the terminal plus all of its_)                              subprocesses_  
           2-2     P    A                                               Configuring WATCHER           @           The TERMINAL_IO measurement is useful for conventional@           terminals but cannot be used for workstations (running8           either VWS or DECwindows) due to the nature of=           workstation activity. PROCESS_IO is recommended for .           use on workstation terminal devices.  9           For any of these measurements you can specify a_:           minimum threshold value. When WATCHER performs a8           comparison, the difference between the current<           measured value and the last measured value must be?           greater than the specified threshold to be counted as @           activity. The default threshold value is zero, so that3           any difference at all counts as activity.-  :           Several samples of WATCH commands with different?           criteria and threshold values are provided in SAMPLE__           CONFIG.WCP.   %           ____________________________      2.1.3  Terminal Groupings  9           You can group WATCH rules together by using the :           /GROUP qualifier. When WATCHER applies its rules<           for determining terminal activity, activity on one>           terminal in the group counts as activity for all the?           terminals in the group. The main use for this featuret;           is with multi-windowed terminals and workstationsg=           running VWS (DECwindows workstations are handled in @           this manner automatically). For example, the following>           rules handle all the workstation terminal types on a%           standalone VWS workstation:W  T                            WCP> WATCH WTA*/GROUP=VWS   ! normal VT200-series windowsS                            WCP> WATCH TKA*/GROUP=VWS   ! Tek 4010 emulation windows S                            WCP> WATCH TJA*/GROUP=VWS   ! Tek 4125 emulation windows   <           The user can then create any number of any type of@           terminal window, and as long as one of them is active,)           they will all remain logged in.M  A                                                               2-3_ _  _               Configuring WATCHER         L           __________________________________________________________________  "    2.2    Exclusions and Overrides  <           WATCHER's behaviour towards a terminal or user can=           be modified through the definition of exclusion and_?           override rules. Exclusions and overrides can be based =           on any combination of username, terminal/port name, >           UIC, image being run, privileges, a held identifier,?           and time of day. Exclusion rules prevent WATCHER from @           taking any action towards a user, while override rules>           merely modify how the terminal is watched (i.e., the@           activity criteria and inactivity periods). For example+           (taken from a VMScluster system):   ?                            WCP> EXCLUDE SYSTEM/TERMINAL=*$OPA0: Z                            WCP> OVERRIDE JONES/TERMINAL=NODE1$TXA3:/DURING=(PRIMARY:8-16)-;                            _WCP>           /LOGOUT=02:00:00   <           The first command prevents WATCHER from taking any>           action against the SYSTEM account while it is logged=           into the system console. The second command extendsN<           the logout inactivity period to two hours for user=           JONES weekdays from 8 am to 4:59 pm, while JONES ise=           logged into the terminal in her office, which is on $           port TXA3 on system NODE1.  L           __________________________________________________________________      2.3    Saving ConfigurationsE  ?           Once you have established the rules you need for yourA<           configuration, you should create the configuration%           file with the SAVE command:   3                            WCP> SAVE WATCHER_CONFIG   ;           If WATCHER is currently running, you can have the <           new configuration take effect immediately with the@           RESET command, which will cause the WATCHER process to=           reload its configuration information from the file._  
           2-4          A                                               Configuring WATCHERn        %           ___________________________n  !    2.3.1  VMScluster Environments,  9           For mainly homogeneous VMScluster environments,t:           you should be able to use one configuration file<           for all nodes in the cluster. If you have a mix of=           nodes, however, it may be easier to create multiple ;           configuration files and define the WATCHER_CONFIG ;           logical name differently depending on the system.n  %           ___________________________        2.3.2  Editing Configurations  <           The WATCH, EXCLUDE, and OVERRIDE commands all have9           a /DELETE to allow you to remove rules from the ?           database, and you can add rules as well. However, youd=           cannot control the order of the new rules (order is >           important because WATCHER searches the rule lists in@           the order you enter them until one matches). To assist=           in making complex changes to the configuration, then?           SHOW command has a /COMMAND qualifier that causes the,?           configuration information to be displayed as commandsu5           you would enter to build the configuration:   B                            WCP> SHOW/COMMAND/OUTPUT=CONFIG.WCP ALL  =           Once you dump the commands to the command file, you >           can edit the command file as needed and create a new*           configuration with the commands:  '                            $ WCP/NOFILE '                            WCP> @CONFIGr3                            WCP> SAVE WATCHER_CONFIGo  @           Instead of editing the configuration, it may be easier@           just to maintain a WCP command file with the necessary@           commands in it and build a new configuration each time$           you need to make a change.  A                                                               2-5     u               Configuring WATCHERr        L           __________________________________________________________________      2.4    DECwindows Support  >           The VMS DECwindows implementation makes it difficult:           for a WATCHER-type program to properly identify,@           warn, and logout DECwindows sessions. However, WATCHER>           does provide limited support for watching DECwindows8           sessions, enabled with the following commands:  .                            WCP> SET DECWINDOWSH                            WCP> WATCH *WSA*/MEASURE=PROCESS_IO/NOWARNING  ?           Note that you cannot use TERMINAL_IO as a measurement <           when watching DECwindows sessions, nor can WATCHER4           give warnings to idle DECwindows sessions.  =           WATCHER identifies DECwindows sessions by searchingo9           the job logical name table for each interactive <           process for the logical name DECW$DISPLAY, defined>           in executive mode. Each interactive job related to a@           single DECwindows session will have the same value for@           DECW$DISPLAY. WATCHER immediately changes the terminal>           device name it uses to the WSA device name (even for?           DECterm sessions) and also sets the group name to the >           WSA device name. In this way, activity in any of the=           DECwindows jobs will be counted as activity for all '           jobs related to that session.g  >           The DECwindows window manager and DECterm controller?           processes are detached processes that are also needed =           by WATCHER (when forcing off a DECwindows session). ;           To identify these processes, WATCHER searches for >           detached processes with DECW$DISPLAY defined in user@           mode. WATCHER tracks these processes, but does not use>           them in activity determination (it calls them "fake")           processes in debug/trace logs).   <           When WATCHER identifies a DECwindows session to be;           forced off, it looks for all processes (includingd=           the detached processes, which are important) with aC<           matching WSA device name and forces them off. This;           should destroy all the windows on the workstation >           and return it to a blank, background screen. It then  
           2-6f c  o    A                                               Configuring WATCHER           <           creates a detached process that executes the DECW_@           STARTLOGIN command procedure (which must be located in?           WATCHER_DIR:), which, after waiting a few seconds forl@           other activity to die down, restarts the login process%           on the affected WSA device.e  9           WATCHER cannot be used to watch DECwindows jobsi<           that are started on remote systems, with the local>           workstation being used only as a display. There must?           be at least some jobs running on the workstation withw?           some activity to prevent WATCHER from logging out then           DECwindows session.   ?           This technique should be effective for VMS DECwindows >           V2 and V3 (also known as DECwindows/Motif V1.0), and<           should even work with X terminals. It may not work1           with future DECwindows implementations.1                                              A                                                               2-7                      A           _______________________________________________________   $    3      Customized Logout Handling      <           This chapter describes the custom logout procedure$           hook available in WATCHER.  L           __________________________________________________________________  +    3.1    Enabling Custom Logout Processing   =           By default, WATCHER calls on the VMS system servicee;           $FORCEX to cause a forced image exit, and $DELPRCb=           to delete a process. If your site runs applications <           that require any special cleanup processing before<           an image exit or a logout occurs, you can create a;           custom logout procedure called WATCHER_LOGOUT.COMd:           in the WATCHER_DIR: directory. When this command?           procedure is present, WATCHER will spawn a subprocessR?           to execute the procedure in place of calls to $FORCEXo=           and $DELPRC. A template command procedure, WATCHER_ >           LOGOUT.TEMPLATE, is provided with WATCHER; edit this>           template and save the result as WATCHER_DIR:WATCHER_>           LOGOUT.COM to have your customized logout processing           take effect.  9           Note that WATCHER does not call on this command 9           procedure for disconnect processing (when using            WATCH/DISCONNECT).  ?           You must stop the WATCHER process and restart it when =           you create the WATCHER_LOGOUT.COM procedure. You do >           not need to restart WATCHER if the command procedure7           already exists and you are simply editing it.g        A                                                               3-1          $           Customized Logout Handling        L           __________________________________________________________________       3.2    The FORCE_EXIT Program  >           VMS does not provide a way to force an image exit in<           another process directly from DCL. The WATCHER kit<           comes with a program, FORCE_EXIT, that can be used@           from a custom logout procedure to do this for you. See6           the template procedure for more information.                                                                
           3-2h f  i                A           _______________________________________________________   !    4      Troubleshooting WATCHERb      ;           If WATCHER is not behaving as expected, there may =           be a problem with your WATCHER configuration. There 9           is debug/trace code built into WATCHER to allow ;           you to monitor five categories of activities: the =           mainline WATCHER code, the exclusion-checking code, =           the override-checking code, measurement checks, and5@           process information collection. Through the use of the?           SET DEBUG command, you can turn on tracing for any oro,           all of these debugging categories.  <           If WATCHER is already running, the best way to set?           up a test configuration is with the following commando           sequence:   B                            $ SET PROCESS/PRIVILEGE=(SYSNAM,SYSPRV)                             $ WCP+                            WCP> SET DEBUG=n ,                            WCP> SET NOACTION<                            WCP> SAVE WATCHER_DIR:TEST_CONFIG$                            WCP> EXITV                            $ DEFINE/SYSTEM/EXEC WATCHER_CONFIG WATCHER_DIR:TEST_CONFIGN                            $ DEFINE/SYSTEM/EXEC WATCHER_TRACE  trace-file-spec&                            $ WCP RESET  9           The debug level n is described in the SET DEBUG :           command description, but usually will be 1 (just:           mainline) or 31 (full). You can direct the trace;           information to any file accessible to WATCHER, ora!           to an unowned terminal.o  <           The SET NOACTION command will prevent WATCHER from8           actually logging anyone out or sending warning            messages to terminals.  A                                                               4-1t i  w    !           Troubleshooting WATCHERh          <           Subsequent WCP RESET commands will cause the trace=           file to be closed and a new version created, so youo?           can easily view past trace information. To go back to$>           "production" mode, just redefine WATCHER_CONFIG back<           to the name of the real configuration file, define>           WATCHER_TRACE to be NL:, and issue another WCP RESET           command.  L           __________________________________________________________________      4.1    Forcing Wakeups   >           To assist in debugging, you may want to have WATCHER9           wake up more often than normal. You can do this :           by setting a shorter wakeup interval in the test;           configuration, or you can force a wakeup to occur_;           by writing to the WATCHER control mailbox. From ao?           suitably privileged account (SYSPRV), you can use then           commands:p  ;                            $ OPEN/WRITE WMBOX WATCHER_MBOX:b+                            $ WRITE WMBOX "" (                            $ CLOSE WMBOX  ?           Each WRITE command will trigger a wakeup, and WATCHERo2           will go through its processing sequence.                            
           4-2                    A           _______________________________________________________   '           Part II  Command Descriptionsn ,  e    A                                              Command DescriptionsoA                                                               WCPb        A           _______________________________________________________   
           WCP     /           Executes the WATCHER Control Program.m  A           _______________________________________________________              FORMAT             WCP  [command]  A           _______________________________________________________e)           Command Qualifiers     Defaults   1           /FILE=file-spec        See description.d  A           _______________________________________________________E             PARAMETERS           [command]h?           Any WCP command except the input redirection operator ?           (@). The specified command is executed and control is 1           returned to DCL immediately thereafter.   A           _______________________________________________________              DESCRIPTION @           WCP is intended to be used as a DCL "foreign" command.;           To use it as a foreign command, you must define an           symbol as follows:  5                            $ WCP :== $WATCHER_EXE:WCP   ?           Defining the symbol in this way allows you to use the @           /FILE qualifier and specify "one-shot" commands on the           command line.r    A                                                             CMD-3d r  r               Command Descriptions
           WCPo      A           _______________________________________________________e             QUALIFIERS           /[NO]FILE=file-spece<           Loads the specified WATCHER configuration file for;           editing. If not specified, the configuration filer:           pointed to by the logical name WATCHER_CONFIG is;           loaded. The default file type is WCFG. If /NOFILE 8           is specified, no configuration file is loaded.                                                                           CMD-4     n    A                                              Command DescriptionsfB                                         @ (Redirect Command Input)        A           ________________________________________________________  $           @ (Redirect Command Input)  1           Executes WCP commands read from a file.e  A           _______________________________________________________i             FORMAT             @  file-spec  A           _______________________________________________________c             PARAMETERS           file-spece?           Name of the file containing WCP commands. If omitted,i'           the default file type is WCP.   A           _______________________________________________________h             DESCRIPTION ;           Use this command to have WCP take further commandr=           input from the specified file. There is no built-ini=           limit on the number of levels of nesting of command!;           files, so be careful when using input redirection @           from within a command file. Commands read from command8           files are not displayed unless you SET VERIFY.  9           Command redirection can only be used at the WCPe:           command prompt, not as a "one-shot" WCP command.<           To have a file be used for input for an entire WCP>           session, use the following sequence of DCL commands.  <                            $ DEFINE/USER SYS$INPUT file-spec                             $ WCP        A                                                             CMD-5r s                  Command Descriptions           EXCLUDEr        A           _______________________________________________________              EXCLUDEx  $           Defines an exclusion rule.  A           _______________________________________________________              FORMAT             EXCLUDE  username-pat   A           _______________________________________________________ )           Command Qualifiers     Defaultsl  -           /ACCPORNAM=port-pat    /ACCPORNAM=*            /DELETE /           /DURING=daytim-list    (all the time)i*           /HOLDING=identifier    (ignored))           /IMAGE=fspec-pat       /IMAGE=*            /OPERATORX*           /PRIVILEGES=priv-list  (ignored),           /TERMINAL=dev-pat      /TERMINAL=*+           /UIC=uic               /UIC=[*,*]   A           _______________________________________________________s             PARAMETERS           username-pat9           A VMS username or pattern containing wildcards, .           identifying the user to be excluded.  A           _______________________________________________________o             DESCRIPTIONe>           This command is used to add or remove (with /DELETE)>           an exclusion rule to the WATCHER configuration. When:           WATCHER is running, any process that matches all;           of the specified criteria is not watched. Omittedn0           criteria are not used or always match.             CMD-6d r  u    A                                              Command Descriptions A                                                           EXCLUDE       A           _______________________________________________________n             QUALIFIERS           /ACCPORNAM=port-pate@           Port name or pattern containing wildcards, identifying;           the terminal port (for terminal servers and otheri=           devices using port names) on which the user must be <           logged in to be excluded. The default is any port.             /DELETE_<           Specifies that the rule should be deleted from the@           configuration. All criteria must match exactly for the           rule to be deleted.o             /DURING=daytim-listl=           Specifies a list of days and times during which theh<           user is to be excluded from watching. The day/time(           specifications are of the form  1                            day:(hour-range[,...])h  <           where day is a day of the week or the word PRIMARY=           or SECONDARY, identifying the primary and secondaryV<           days set with SET DAYS, and hour-range is either a?           single hour number (0 through 23) or two hour numbers <           separated by a hyphen. Multiple hour ranges may be           specified per day.             /HOLDING=identifiere7           Specifies that the user should be excluded ifh=           holding the specified identifier. The identifier ish?           converted to binary format before being stored in theO=           configuration, so you must create the configurationm?           file on the target system, or on a node with the sameb>           RIGHTSLIST database as the target system, to prevent.           misinterpretation of the identifier.  @           Note that if you do not use /HOLDING on any EXCLUDE or@           OVERRIDE command, the rights identifier information is@           not collected by WATCHER, resulting in some savings in           processing time.  A                                                             CMD-7                     Command Descriptions           EXCLUDEi                   /IMAGE=fspec-pat?           Specifies that the user should be excluded if runningi<           an executable image whose name (as returned by the@           JPI$_IMAGNAME item from $GETJPI) matches the specified<           wildcard pattern. For a job with subprocesses, the;           image name that WATCHER uses for matching against_?           the wildcard pattern is the image currently being runh=           by the master process in the job, or, if the mastero=           process is not running an image, an image being run @           by one of the subprocesses (randomly selected if there.           are two or more such subuprocesses).             /OPERATORb>           Specifies that the process should be excluded if the;           terminal is enabled as an OPCOM operator console.A             /PRIVILEGES=priv-list =           Specifies that the user is to be excluded only when ;           holding the specified privilege or privileges. If :           omitted, privileges are not used as a criterion.             /TERMINAL=dev-patd@           Specifies a terminal device name or pattern containing<           wildcards. The user must be logged into a matching"           terminal to be excluded.             /UIC=uic?           Specifies a UIC or UIC pattern. A process is excludedi;           only when owned by a matching UIC. You may use anm=           asterisk for the member part of the UIC to have allo:           UIC's in a group match. If omitted, any UIC will           match.                           CMD-8  i  n    A                                              Command DescriptionslA                                                              EXITs        A           _______________________________________________________              EXIT             Ends a WCP session.l  A           _______________________________________________________o             FORMAT             EXIT  A           _______________________________________________________D             DESCRIPTION =           Ends the current WCP session and returns control to ;           DCL. If you have modified the configuration, EXIT"?           will ask for a file name for saving the configurationT           before exiting.s                                          A                                                             CMD-9s h                  Command Descriptions           HELP        A           _______________________________________________________o             HELP  $           Displays help information.  A           _______________________________________________________              FORMAT             HELP  [topic...]  A           _______________________________________________________D             PARAMETERS           topicu@           The name of a topic in the help library. If omitted, a&           list of topics is displayed.  A           _______________________________________________________t             DESCRIPTION 1           This command is pretty straightforward.o                                             CMD-10    h    A                                              Command DescriptionsuA                                                          OVERRIDEw        A           _______________________________________________________              OVERRIDE  #           Defines an override rule.e  A           _______________________________________________________i             FORMAT              OVERRIDE  username-pat  A           _______________________________________________________e)           Command Qualifiers     Defaults   -           /ACCPORNAM=port-pat    /ACCPORNAM=*            /DELETE /           /DURING=daytim-list    (all the time)_*           /HOLDING=identifier    (ignored))           /IMAGE=fspec-pat       /IMAGE=*d           /OPERATOR *           /PRIVILEGES=priv-list  (ignored),           /TERMINAL=dev-pat      /TERMINAL=*+           /UIC=uic               /UIC=[*,*]_%           /[NO]DISCONNECT[=deltatime]3%           /[NO]FORCE_EXIT[=deltatime] !           /[NO]LOGOUT[=deltatime]a&           /MEASURE=(measurement[,...])"           /[NO]WARNING[=deltatime]  A           _______________________________________________________p             PARAMETERS           username-pat9           A VMS username or pattern containing wildcards,u@           identifying the user for which the override is to take           effect.O      A                                                            CMD-11  c  r               Command Descriptions           OVERRIDE      A           _______________________________________________________D             DESCRIPTION >           This command is used to add or remove (with /DELETE)=           an override rule to the WATCHER configuration. When =           WATCHER is running, any process that matches all ofz?           the specified criteria will have the warning, logout,a?           and measurement information, if specified, taken from 6           the override rule instead of the WATCH rule.  A           _______________________________________________________t             QUALIFIERS           /ACCPORNAM=port-patc@           Port name or pattern containing wildcards, identifying;           the terminal port (for terminal servers and othert=           devices using port names) on which the user must be >           logged in to have the override apply. The default is           any port.              /DELETE_<           Specifies that the rule should be deleted from the@           configuration. All criteria must match exactly for the           rule to be deleted.              /DURING=daytim-listC=           Specifies a list of days and times during which the ?           override is to apply. The day/time specifications aret           of the form   1                            day:(hour-range[,...])   <           where day is a day of the week or the word PRIMARY=           or SECONDARY, identifying the primary and secondary_<           days set with SET DAYS, and hour-range is either a?           single hour number (0 through 23) or two hour numberse<           separated by a hyphen. Multiple hour ranges may be           specified per day.             /HOLDING=identifierT:           Specifies that the override should apply only if;           the user is holding the specified identifier. Thei?           identifier is converted to binary format before beingm             CMD-12         A                                              Command DescriptionsEA                                                          OVERRIDEt        9           stored in the configuration, so you must createn9           the configuration file on the target system, ors<           on a node with the same RIGHTSLIST database as the<           target system, to prevent misinterpretation of the           identifier.   @           Note that if you do not use /HOLDING on any EXCLUDE or@           OVERRIDE command, the rights identifier information is@           not collected by WATCHER, resulting in some savings in           processing time.             /IMAGE=fspec-pat>           Specifies that the override should apply only if the<           user is running an executable image whose name (as:           returned by the JPI$_IMAGNAME item from $GETJPI);           matches the specified wildcard pattern. For a jobu=           with subprocesses, the image name that WATCHER usesa@           for matching against the wildcard pattern is the image?           currently being run by the master process in the job,h?           or, if the master process is not running an image, anl>           image being run by one of the subprocesses (randomly@           selected if there are two or more such subuprocesses).             /OPERATOR 9           Specifies that the override should apply if the <           process's terminal is enabled as an OPCOM operator           console.             /PRIVILEGES=priv-list @           Specifies that the override should apply only when the@           user is holding the specified privilege or privileges.=           If omitted, privileges are not used as a criterion.              /TERMINAL=dev-patd@           Specifies a terminal device name or pattern containing<           wildcards. The user must be logged into a matching.           terminal to have the override apply.      A                                                            CMD-13n a  o               Command Descriptions           OVERRIDE                   /UIC=uic>           Specifies a UIC or UIC pattern. The override applies<           only to processes owned by a matching UIC. You may@           use an asterisk for the member part of the UIC to have>           all UIC's in a group match. If omitted, any UIC will           match.  %           /[NO]DISCONNECT[=deltatime]X:           Specifies that the logout/disconnect information=           should be overridden, performing a virtual terminal =           disconnection instead of deleting the user process. 6           The inactivity interval can be overridden by<           specifying a deltatime, or logouts/disconnects can=           be prevented altogether by specifying /NODISCONNECT ;           (although it is more efficient to use EXCLUDE for            this).  %           /[NO]FORCE_EXIT[=deltatime]b:           Specifies that the logout/disconnect information>           should be overridden, performing a forced image exit:           instead of deleting the process or disconnecting<           the terminal. Only user-mode images are forced; if>           the user is at DCL command level, the forced exit is?           skipped. The inactivity interval can be overridden byu>           specifying a deltatime, or exits/logouts/disconnects=           can be prevented altogether by specifying /NOFORCE_E@           EXIT (although it is more efficient to use EXCLUDE for           this).  !           /[NO]LOGOUT[=deltatime] :           Specifies that the logout/disconnect information=           should be overridden, performing a process deletion_:           instead of a virtual terminal disconnection. The=           inactivity interval can be overridden by specifying @           a deltatime, or logouts can be prevented by specifying9           /NOLOGOUT (although it is more efficient to use            EXCLUDE for this).                 CMD-14    e    A                                              Command DescriptionsuA                                                          OVERRIDEi        &           /MEASURE=(measurement[,...])9           Specifies that the activity measurements should <           be overridden. For measurement, specify one of the           following:  >           CPU[:threshold]         CPU time (the sum of the CPU:                                   time used by the process>                                   and all its subprocesses, in>                                   centiseconds) should be used>                                   as a criterion. If threshold>                                   is specified, the differenceA                                   in CPU time between passes must @                                   exceed the specified threshold@                                   for a process to be considered)                                   active.   =           PROCESS_                Process I/O (the sum of the @           IO[:threshold]          buffered and direct I/O counts=                                   for the process and all its_>                                   subprocesses) should be used>                                   as a criterion. If thresholdA                                   is specified, the difference in @                                   I/O counts between passes must@                                   exceed the specified threshold@                                   for a process to be considered)                                   active.   =           TERMINAL_               Terminal I/O (the operationi?           IO[:threshold]          count on the terminal device)g@                                   should be used as a criterion.<                                   If threshold is specified,>                                   the difference in I/O counts<                                   between passes must exceed=                                   the specified threshold forn<                                   a process to be considered)                                   active.q  =           Any combination of PROCESS_IO, CPU, and TERMINAL_IOR?           is permitted. If omitted, threshold values default to >           zero. Note that threshold values should be chosen as=           a function of the wakeup interval (defined with SETr           INTERVAL).  A                                                            CMD-15X D                  Command Descriptions           OVERRIDE        "           /[NO]WARNING[=deltatime]:           Specifies that the warning information should be<           overridden. The warning inactivity interval can be?           overridden by specifying a deltatime, or warnings can 0           be prevented by specifying /NOWARNING.                                                                                 CMD-16    (    A                                              Command DescriptionsOA                                                              QUIT=        A           _______________________________________________________              QUIT  9           Quits WCP without saving configuration changes.A  A           _______________________________________________________              FORMAT             QUIT  A           ________________________________________________________             DESCRIPTION_=           If changes to the configuration have been made, youd5           are asked for confirmation before quitting.n                                              A                                                            CMD-17f e  e               Command Descriptions           RESETr        A           _______________________________________________________              RESET   7           Sends a reset command to the WATCHER process.   A           ________________________________________________________             FORMAT             RESET_  A           _______________________________________________________              DESCRIPTIONt;           This command sends a reset command to the WATCHERl<           process, which causes WATCHER to flush all process@           and configuration information, close its log and trace5           files, and read in the configuration again.T  :           OPER and SYSPRV privileges are required for this           command.                                               CMD-18    u    A                                              Command DescriptionseA                                                              SAVEb        A           _______________________________________________________              SAVE  (           Saves a WATCHER configuration.  A           _______________________________________________________              FORMAT             SAVE  [file-spec]r  A           _______________________________________________________              PARAMETERS           file-speco?           Name of the file to which the configuration should ben=           written. If omitted, it defaults to the name of thei<           file read in with the WCP/FILE qualifier (if any).=           If specified, the default file type is WCFG and thei<           default location is the current default directory.                                      A                                                            CMD-19s e  o               Command Descriptions           SET ACTION        A           _______________________________________________________f             SET ACTION  >           Controls whether WATCHER performs warning and logout           actions.  A           _______________________________________________________u             FORMAT             SET [NO]ACTION  A           _______________________________________________________M             DESCRIPTION =           To test out a WATCHER installation or configurationI9           change, you may want to SET NOACTION to prevent :           WATCHER from actually notifying any terminals or@           logging any users out. The SET NOACTION setting allows<           you to test your configuration safely, and use the=           DEBUG and trace facilities to see how WATCHER wouldf           have performed.   ?           When you are through testing, return the setting back >           to the default, SET ACTION, to have WATCHER actually9           perform warnings, disconnections, logouts, etc.                                      CMD-20 c       A                                              Command DescriptionsOA                                                          SET BELLf        A           _______________________________________________________              SET BELL  >           Enables or disables the ringing of the terminal bell"           on warnings and logouts.  A           _______________________________________________________s             FORMAT             SET [NO]BELL  A           _______________________________________________________g             DESCRIPTIONe@           By default, the terminal bell is not rung when WATCHER=           displays a warning or logout message on a terminal.p=           SET BELL will cause WATCHER to send a BEL characterm>           with the message to cause the terminal bell to ring.                                        A                                                            CMD-21                     Command Descriptions           SET DAYS        A           _______________________________________________________              SET DAYS  @           Establishes the primary and secondary day settings for           subsequent commands.  A           ________________________________________________________             FORMAT             SET DAYS  A           ________________________________________________________)           Command Qualifiers     Defaults              /PRIMARY=(day-list)            /SECONDARY=(day-list)d  A           _______________________________________________________r             DESCRIPTIONi@           This command is used to move one or more days from the=           primary day list to the secondary day list or vice- ;           versa. These lists are used as shorthand by other =           commands when you specify PRIMARY or SECONDARY on a            /DURING qualifier.                                     CMD-22         A                                              Command Descriptions_A                                                         SET DEBUG         A           ________________________________________________________             SET DEBUG   >           Enables or disables debug tracing and sets the level           of debug information.e  A           ________________________________________________________             FORMAT             SET [NO]DEBUG[=mask]  A           _______________________________________________________              DESCRIPTION =           SET DEBUG turns on debug tracing. WATCHER will send :           debug output to the file or device identified by=           the WATCHER_TRACE logical name. For mask, specify a @           decimal number representing a bitmask indicating which9           kinds of debugging information you want logged.   A           _______________________________________________________                     BitA           Value____no.______Description___________________________  *             1        0      main line code  ,             2        1      exclusion checks  +             4        2      override checksT  .             8        3      measurement checks  A           _16________4______process_info_collection______________c  >           The mask value can be any one of the above, or a sum@           of any of the above values. Use SET NODEBUG to disable           debug tracing.  A                                                            CMD-23  [  F               Command Descriptions           SET DECWINDOWS        A           _______________________________________________________              SET DECWINDOWS  ;           Enables or disables extra processing required for            DECwindows support.   A           _______________________________________________________y             FORMAT             SET [NO]DECWINDOWS  A           _______________________________________________________              DESCRIPTIONr:           Since the DECwindows support requires additional9           processing beyond that used for watching normal_<           terminals, it is by default turned off. You should>           only SET DECWINDOWS when you will be running WATCHER7           on a DECwindows workstation (or a system with >           DECwindows terminals). You will also need to include8           a WATCH rule for WSA terminal devices to watch<           DECwindows sessions (as described in Section 2.4).                                           CMD-24         A                                              Command Descriptions A                                                     SET EVENT_LOGr        A           _______________________________________________________r             SET EVENT_LOGt  =           Establishes how normal WATCHER events are recorded.   A           _______________________________________________________              FORMAT             SET [NO]EVENT_LOGc  A           _______________________________________________________o)           Command Qualifiers     Defaults              /FILE=file-spec            /OPERATOR=oper-lists  A           _______________________________________________________              DESCRIPTIONp:           This command specifies how normal WATCHER events;           (startup, shutdown, reset, and logout events) are @           recorded. By default, WATCHER events are logged to the!           CENTRAL operator class.m  A           _______________________________________________________i             QUALIFIERS           /FILE=file-spec 6           Directs event logging to the specified file.             /OPERATOR=oper-list =           Specifies a list of one or more operator classes to =           which WATCHER events should be logged. If more than ?           one operator class name is specified, the list should ;           be comma-separated and surrounded by parentheses.       A                                                            CMD-25m d  s               Command Descriptions           SET INSWAP        A           _______________________________________________________              SET INSWAP  8           Sets the $GETJPI NOINSWAP control flag used by           WATCHER.  A           _______________________________________________________i             FORMAT             SET [NO]INSWAP  A           _______________________________________________________              DESCRIPTION ;           Under VAX/VMS V5.2 and later (and all versions of >           OpenVMS Alpha and OpenVMS Industry Standard 64), the=           $GETJPI system service supports a control flag thate>           prevents it from taking any action that would result;           in the swapping in of a process that is currentlyP;           swapped out. SET NOINSWAP enables the use of thise@           control flag in WATCHER, causing WATCHER to ignore any?           swapped-out processes. The default setting is INSWAP.w  =           Using SET NOINSWAP may result in inactive processese?           not being logged out by WATCHER, or in some cases may =           result in processes getting logged out prematurely,o=           because activity of swapped-out processes cannot bew*           determined when NOINSWAP is set.                               CMD-26 o  r    A                                              Command Descriptions A                                                      SET INTERVALs        A           _______________________________________________________              SET INTERVAL  :           Sets the hibernation interval between processing           passes.s  A           _______________________________________________________              FORMAT  !           SET INTERVAL=delta-timed  A           _______________________________________________________              DESCRIPTION 6           This command sets the length of time WATCHER;           hibernates between processing passes. The default :           is 5 minutes. The value you should use should be?           smaller than the warning and logout intervals for ally?           terminals and smaller than the difference between thea?           logout and warning intervals for any single terminal.';           Too small a value, however, will cause WATCHER to.           waste CPU time.C                                A                                                            CMD-27r d                  Command Descriptions           SET MULTIWARNa        A           _______________________________________________________o             SET MULTIWARNc  0           Enables or disables multiple warnings.  A           _______________________________________________________              FORMAT             SET [NO]MULTIWARN   A           _______________________________________________________ )           Command Qualifiers     Defaultsa  7           /INTERVAL=delta-time   /INTERVAL="0 00:05:00"m  A           _______________________________________________________              DESCRIPTIONn:           By default, WATCHER displays only one warning on:           terminals, at the time specified on the /WARNING=           qualifier. SET MULTIWARN enables multiple warnings;i?           one at the /WARNING time and again every five minutese>           (or whatever interval you specify) until the /LOGOUT)           or /DISCONNECT time is reached.r  (           This is a system-wide setting.  A           _______________________________________________________i             QUALIFIERS           /INTERVAL=delta-time:           Specifies the interval of time that should occur8           between warnings. If omitted, defaults to five?           minutes. This value should equal or exceed the wakeupt9           interval value (specified by SET INTERVAL). Thee=           actual interval between warnings may be longer than ;           the specified time, since checks are made only at =           each processing pass (the interval between which is 3           controlled by the wakeup interval value).U             CMD-28         A                                              Command DescriptionseA                                                        SET VERIFY         A           _______________________________________________________              SET VERIFY  <           Enables or disables echoing of commands in command           files.  A           _______________________________________________________d             FORMAT             SET [NO]VERIFY  A           _______________________________________________________              DESCRIPTION ?           The SET VERIFY command turns on command verification, :           so that commands read from WCP command files are8           echoed to the terminal. SET NOVERIFY turns off-           verification, which is the default.                                         A                                                            CMD-29a d  c               Command Descriptions           SET WATCH_DEFAULTn        A           _______________________________________________________              SET WATCH_DEFAULT   =           Establishes defaults for subsequent WATCH commands.   A           _______________________________________________________/             FORMAT             SET WATCH_DEFAULT   A           _______________________________________________________ )           Command Qualifiers     Defaults   %           /[NO]DISCONNECT[=deltatime] %           /[NO]FORCE_EXIT[=deltatime]n!           /[NO]LOGOUT[=deltatime]O&           /MEASURE=(measurement[,...])"           /[NO]WARNING[=deltatime]  A           _______________________________________________________              DESCRIPTIONp>           The SET WATCH_DEFAULT command is used to set logout,@           warning, and measurement defaults for subsequent WATCH           commands.   @           The defaults set by this command are saved between WCP           sessions.s  A           _______________________________________________________              QUALIFIERS%           /[NO]DISCONNECT[=deltatime] =           Sets the default for disconnects, to be used if not >           specified on subsequent WATCH commands. /DISCONNECT,:           /FORCE_EXIT, and /LOGOUT are mutually exclusive.  %           /[NO]FORCE_EXIT[=deltatime] ?           Sets the default for forced image exits to be used on >           subsequent WATCH commands. /DISCONNECT, /FORCE_EXIT,-           and /LOGOUT are mutually exclusive.e             CMD-30 r  i    A                                              Command Descriptions A                                                 SET WATCH_DEFAULT         !           /[NO]LOGOUT[=deltatime]A9           Sets the default for logouts, to be used if not >           specified on subsequent WATCH commands. /DISCONNECT,:           /FORCE_EXIT, and /LOGOUT are mutually exclusive.  &           /MEASURE=(measurement[,...])?           Sets the default measurements to be used for activity_<           determination if not specified on subsequent WATCH7           commands. For measurement, specify one of the            following:  >           CPU[:threshold]         CPU time (the sum of the CPU:                                   time used by the process>                                   and all its subprocesses, in>                                   centiseconds) should be used>                                   as a criterion. If threshold>                                   is specified, the differenceA                                   in CPU time between passes must @                                   exceed the specified threshold@                                   for a process to be considered)                                   active.   =           PROCESS_                Process I/O (the sum of the @           IO[:threshold]          buffered and direct I/O counts=                                   for the process and all itsT>                                   subprocesses) should be used>                                   as a criterion. If thresholdA                                   is specified, the difference in @                                   I/O counts between passes must@                                   exceed the specified threshold@                                   for a process to be considered)                                   active.                 A                                                            CMD-31     S               Command Descriptions           SET WATCH_DEFAULT_          =           TERMINAL_               Terminal I/O (the operationo?           IO[:threshold]          count on the terminal device)_@                                   should be used as a criterion.<                                   If threshold is specified,>                                   the difference in I/O counts<                                   between passes must exceed=                                   the specified threshold fori<                                   a process to be considered)                                   active.n  =           Any combination of PROCESS_IO, CPU, and TERMINAL_IOr?           is permitted. If omitted, threshold values default to >           zero. Note that threshold values should be chosen as=           a function of the wakeup interval (defined with SET            INTERVAL).  "           /[NO]WARNING[=deltatime];           Sets the defaults for warnings, to be used if notr1           specified on subsequent WATCH commands.                                                    CMD-32 u       A                                              Command Descriptions_A                                                              SHOW         A           _______________________________________________________              SHOW    <           Displays all or part of the current configuration.  A           _______________________________________________________A             FORMAT                 { ACTION    }n                 { ALL       }                  { BELL      }i                 {           }                  { DAYS      }                  { DEBUG     }s                 { DEFAULTS  }                  {           }C                 { EVENT_LOG }            SHOW  { EXCLUDE   }c                 { FILE      }                  {           }                  { GLOBALS   }                  { INSWAP    }                  { INTERVAL  }                  {           }                  { MULTIWARN }                  { OVERRIDE  }_                 { WATCH     }_                 {           }   A           _______________________________________________________ )           Command Qualifiers     Defaults_  +           /[NO]COMMAND           /NOCOMMAND_4           /OUTPUT=file-spec      /OUTPUT=SYS$OUTPUT:  A           _______________________________________________________              DESCRIPTION 9           The SHOW command displays information about theT=           current configuration and the WCP default settings.n  A                                                            CMD-33                     Command Descriptions           SHOW      A           _______________________________________________________              QUALIFIERS           /[NO]COMMAND;           The /COMMAND qualifier indicates that the display ;           should be formatted as the commands that would be_?           entered to create the specified records. Use /COMMANDn=           with the /OUTPUT qualifier to create an MCP command =           file that can be altered with your favorite editor,_@           then read back into MCP to create a new configuration.             /OUTPUT=file-spec_:           The /OUTPUT qualifier is used to direct the SHOW;           result to a file or other device. By default, the-;           result is displayed on the current output device,_           SYS$OUTPUT.                                                              CMD-34 y  r    A                                              Command Descriptions A                                                          SHUTDOWN         A           _______________________________________________________              SHUTDOWN  :           Sends a shutdown command to the WATCHER process.  A           _______________________________________________________              FORMAT             SHUTDOWN  A           ________________________________________________________             DESCRIPTION >           This command sends a shutdown command to the WATCHER>           process, which causes WATCHER to close its log files           and exit._  :           OPER and SYSPRV privileges are required for this           command.                                      A                                                            CMD-35                     Command Descriptions           WATCH         A           _______________________________________________________E             WATCHe             Defines a watch rule.e  A           _______________________________________________________              FORMAT             WATCH  device-pat   A           _______________________________________________________ )           Command Qualifiers     Defaults_  -           /ACCPORNAM=port-pat    /ACCPORNAM=*            /DELETE %           /[NO]DISCONNECT[=deltatime]1%           /[NO]FORCE_EXIT[=deltatime] !           /[NO]LOGOUT[=deltatime] &           /MEASURE=(measurement[,...])"           /[NO]WARNING[=deltatime]  A           _______________________________________________________n             PARAMETERS           device-pat6           A terminal device name or pattern containing?           wildcards, to identify the terminal(s) to be watched.   A           _______________________________________________________o             DESCRIPTIONO@           This command is used to add or remove (with /DELETE) a?           watch rule to the WATCHER configuration. When WATCHERd@           is running, a process running on any terminal matching@           the specified criteria will be watched for inactivity,)           using the specified parameters.E               CMD-36         A                                              Command DescriptionsEA                                                             WATCHn      A           _______________________________________________________              QUALIFIERS           /ACCPORNAM=port-pat @           Port name or pattern containing wildcards, identifying>           the terminal port(s) (for terminal servers and other>           devices using port names) to be watched. The default           is any port.             /DELETE <           Specifies that the rule should be deleted from the@           configuration. All criteria must match exactly for the           rule to be deleted.   %           /[NO]DISCONNECT[=deltatime] :           For systems with virtual terminals enabled, this<           qualifier specifies whether the terminal should be?           disconnected from the system, and if so, how long theo>           terminal should be inactive before the disconnection:           occurs. If virtual terminals are not enabled, or8           the terminal to be forced off is not connected;           through a virtual terminal, the process is loggedo=           out (the same effect as for the /LOGOUT qualifier). =           If both this qualifier and /LOGOUT are omitted, the_=           disconnect/logout default is taken from the current $           SET WATCH_DEFAULT setting.  >           The /DISCONNECT, /FORCE_EXIT, and /LOGOUT qualifiers!           are mutually exclusive.   ?           Note: The terminal-disconnection code used by WATCHERr=           runs in kernel mode, at elevated IPL, and hence may_:           result in a system crash if the VMS terminal UCB9           extensions or terminal class driver changes. Asd=           with all code that uses undocumented VMS internals, ?           exercise caution when using /DISCONNECT for the first <           time and when you upgrade to a new version of VMS.  ?            The disconnect code is the only part of WATCHER thatr           uses kernel mode.h  A                                                            CMD-37  C  2               Command Descriptions           WATCH         %           /[NO]FORCE_EXIT[=deltatime]_>           Specifies that any user-mode image currently running;           at the terminal should be forced to exit, withouty(           actually logging the user off.  >           The /DISCONNECT, /FORCE_EXIT, and /LOGOUT qualifiers!           are mutually exclusive.   !           /[NO]LOGOUT[=deltatime]_9           Specifies whether the terminal should be logged 9           out, and if so, how long the terminal should be >           inactive before logout occurs. If this qualifier and@           /DISCONNECT are omitted, the logout/disconnect default>           is taken from the current SET WATCH_DEFAULT setting.  >           The /DISCONNECT, /FORCE_EXIT, and /LOGOUT qualifiers!           are mutually exclusive.h  &           /MEASURE=(measurement[,...])<           Specifies the measurements that should be used for>           activity determination. For measurement, specify one           of the following:t  >           CPU[:threshold]         CPU time (the sum of the CPU:                                   time used by the process>                                   and all its subprocesses, in>                                   centiseconds) should be used>                                   as a criterion. If threshold>                                   is specified, the differenceA                                   in CPU time between passes must @                                   exceed the specified threshold@                                   for a process to be considered)                                   active.                          CMD-38 _  _    A                                              Command DescriptionsLA                                                             WATCH_          =           PROCESS_                Process I/O (the sum of the @           IO[:threshold]          buffered and direct I/O counts=                                   for the process and all itsd>                                   subprocesses) should be used>                                   as a criterion. If thresholdA                                   is specified, the difference ins@                                   I/O counts between passes must@                                   exceed the specified threshold@                                   for a process to be considered)                                   active.c  =           TERMINAL_               Terminal I/O (the operation_?           IO[:threshold]          count on the terminal device)T@                                   should be used as a criterion.<                                   If threshold is specified,>                                   the difference in I/O counts<                                   between passes must exceed=                                   the specified threshold for=<                                   a process to be considered)                                   active.   =           Any combination of PROCESS_IO, CPU, and TERMINAL_IOs?           is permitted. If omitted, threshold values default too>           zero. Note that threshold values should be chosen as=           a function of the wakeup interval (defined with SETe?           INTERVAL). If no /MEASUREMENT qualifier is specified,t@           the measurement settings are taken from the SET WATCH_           DEFAULT settings.e  "           /[NO]WARNING[=deltatime]?           Specifies whether the terminal should be warned about @           inactivity, and if so, how long the terminal should be?           inactive before warning is sent. The warning intervale>           should be less than the logout interval. If omitted,:           the default is taken from the current SET WATCH_           DEFAULT setting.      A                                                            CMD-39f