.ps 60,80 .lm 5 .rm 75 .ap .!(librarian will insert file name here) .blank 2 .c;BASD User Watch Submission .blank 2 .c;Dave Cook .c;Ball Aerospace Systems Division .c;P.O. 1062 .c;Boulder, Colo. 80306 .c;(303) 441-4058 .blank 2 The watch program runs as a subprocess and monitors the activity of any users that the guy running this utility wishes to monitor. When the users under scrutiny log on or off the system, a message is sent to the monitor guy's terminal informing of the change in status. This is really useful if you are trying to get ahold of some old cowpoke but he is not on the system right now. Notes : This program runs at a regular interval, nominally set at time of this writing, it runs every 60 seconds (see the RUN command below). This if for two main reasons. First, It is not necessary to watch the system continuously since anyone logging on will probably be on for at least a minute. Second, you are racking up CPU overhead so it is a good idea to keep it running as slow as possible. One irritating thing about this program is that it tends to interrupt you at the worst possible moments with crucial messages. Therefore, it might be wise to SET TERMINAL/NOBROADCAST when you temporarily don't want to be bothered, for instance when you are using EDT. This can be dangerous however, since NOBROAD also supresses messages from the system such as "SYSTEM GOING DOWN IN 3 SECONDS". The user list file contains simply the user ID's of the guys you want to keep tabs on and may be created via the CREATE command. The default file name is WATCH.DAT and unfortunately you have to be in the specific directory or sub- directory where this file resides when you start up the subprocess. Logical assignments will not carry over to the subprocess so there is no way to redefine the file name unless you happen to be a systems weenie. One last thing, if the program starts to have problems, you must kill it by doing a STOP/ID=nnnnnnnn or else by logging off (i.e. committing seppeku), so...... rots o ruck Bozo !!! .literal Dave Cook Ball Aerospace Systems Division 28-Aug-81 .end literal The first thing I do is extract your user name and append "__WATCH" to it in order to identify who dunnit. For example, if I ran this myself, the name of the subprocess would show up on the system as : HOSEHEAD__WATCH . .literal ! $ USER := 'F$PROCESS() ! ! Simply run it now....Note that you need WORLD privilege to access ! the GETJPI utility. ! $ RUN/- PROCESS_NAME='USER'_WATCH/- OUTPUT='F$LOGICAL("SYS$OUTPUT")'/- ERROR ='F$LOGICAL("SYS$OUTPUT")'/- NORESOURCE_WAIT/- PRIV=(WORLD)/- PRIORITY=5/- INTERVAL=00:01:00.00- WATCH.EXE .end literal