[comp.os.vms] A handy program

fritz@unocss.unl.EDU (Tim Russell) (06/29/88)

Here's a handy program I use every once in a while...

=======================  Cut Here =====================================

$! WATCHFOR.COM - Watch in the background for a friend to log on.
$!
$!    This program is meant to be spawned in a background process from a
$! symbol such as this:
$!
$!        WATCHFOR :== SPAWN/NOWAIT/INPUT=NL:/NOLOG @WATCHFOR
$!
$! And can then be invoked as a normal command, the first parameter being
$! the username to watch for (DEFINED aliases are acceptable) and the
$! second, optional, parameter being the interval between checks in
$! seconds.  When the given user logs on, the program SENDs a message to
$! the user who ran it and exits.  If your site doesn't have Jnet commands,
$! the SEND can be replaced with a
$!
$!    $ WRITE SYS$OUTPUT "^G^G''p1' just logged on!!!"
$!
$! This program is placed into the public domain.  Feel free to hack it
$! beyond recognition.   Flames/comments/neat changes to:
$!
$!        Internet: fritz@fergvax.unl.edu
$!        Bitnet:   CONSLT32@UNOMA1
$!        UUCP:     {backbones}!unocss!fritz
$!
$!============================================================================
$!
$! Find out who's running us..
$ user = f$edit(f$getjpi("", "USERNAME"),"COLLAPSE")
$!
$! How often should we check? Default is every ten seconds.
$!
$ if p2 .eqs. "" then p2 = "10"
$!
$! Get real username if they gave us a DEFINED one
$!
$ realname = f$trnlnm(p1)
$ if realname .eqs. "" then realname = p1
$!
$! Be nice to the users...
$ set process/priority=3
$!
$! Loop till they log on or we die...
$!
$ assign NLA0: sys$output
$ assign NLA0: sys$error
$ loop:
$ wait 00:00:'p2'
$ show users 'realname'
$ if $severity .nes. 1 then goto loop
$!
$! They logged on - notify the user
$!
$   set process/priority=4
$   p1 = f$extract(0,1,p1) + f$edit(f$extract(1,f$length(p1)-1,p1), "LOWERCASE")
$   send 'user' "''p1' just logged on!!!    (''f$extract(12,8,f$time())')"
$ exit

---------------------------------+--------------------------------------------
 Tim Russell, Computer Operator  | Internet: fritz@fergvax.unl.edu
 Campus Computing                | Bitnet:   OPER06@UNOMA1
 University of Nebraska at Omaha | UUCP:     {ihnp4}!unocss!fritz
---------------------------------+-------------------------------------------