[comp.os.vms] Physical terminal from DCL

ASIDONHO@JHUIGF.BITNET (Frankly, my dear, you need a flicker-fre...) (06/11/87)

Does anyone know of a way to obtain the physical terminal name of an
interactive process from DCL? F$getjpi(pid,"TERMINAL") returns the
virtual terminal (if there is one) which is not nearly as useful a piece
of information. I have also noticed that the accounting records also contain
only the virtual terminals for jobs on ports where disconnect is available.
Anyone know of a way to obtain this from accountng.dat??
-Tom O'Toole
Interactive Graphics Facility
Johns Hopkins Med. School.
Baltimore

carl@CITHEX.CALTECH.EDU.UUCP (06/14/87)

 > Does anyone know of a way to  obtain  the  physical  terminal  name  of  an
 > interactive process from DCL?  F$getjpi(pid,"TERMINAL") returns the virtual
 > terminal (if there is one) which  is  not  nearly  as  useful  a  piece  of
 > information.   I have also noticed that the accounting records also contain
 > only the virtual terminals for jobs on ports where disconnect is available.
 > Anyone know of a way to obtain this from accountng.dat??

For the former, use  F$GETDVI(F$GETJPI(PID,"TERMINAL"),"TTPHYDEVNAM").  As  to
the  latter,  since the information isn't in accounting.dat, there's no way to
extract it.  You could do something  like  have  your  SYS$SYLOGIN:   write  a
record  to  a  file,  said  record  listing  PID  and physical terminal.  This
information is of dubious value, since the user may later disconnect, then log
in  on another physical terminal and connect to the old process.  One instance
in which it WOULD be very useful is the case of login failures,  but  in  this
case, you never get to the SYS$SYLOGIN:, so the information isn't available.

bmw6957@TAMCHEM.BITNET.UUCP (06/14/87)

You can get the physical terminal name in DCL with the following:

    Phys_Term = F$GetDVI(F$GetJPI("pid","TERMINAL"),"TT_PHYDEVNAM")

Brad Wilson
Texas A&M University

SLOANE@UKANVAX.BITNET (Bob Sloane) (06/15/87)

Tom O'Toole asks:

>Does anyone know of a way to obtain the physical terminal name of an
>interactive process from DCL? ...

The following .COM file should print out the physical terminal name
even if you are using virtual terminals.

$ tt = f$getjpi("","TERMINAL")
$ tt = f$getdvi(tt,"TT_PHYDEVNAM")
$ write sys$output tt

                      Bob Sloane
                      University of Kansas
                      Computer Center
                      (913) 864-4291
                      SLOANE@UKANVAX on BITNET

LEICHTER-JERRY@YALE.ARPA.UUCP (06/18/87)

    Does anyone know of a way to obtain the physical terminal name of an
    interactive process from DCL? F$getjpi(pid,"TERMINAL") returns the
    virtual terminal (if there is one) which is not nearly as useful a piece
    of information.

F$GETDVI(F$GETJPI(pid,"TERMINAL"),"TT_PHYDEVNAM")

    I have also noticed that the accounting records also contain only the
    virtual terminals for jobs on ports where disconnect is available.
    Anyone know of a way to obtain this from accountng.dat??

The information is just not there to be gotten.  (Note the complexity, BTW;
the process may have been attached to any number of physical devices by the
time it terminates.  Do you want the device it was created on?  The one it
was on at the time of process deletion, if any?  (It might have been discon-
nected when it died!)
							-- Jerry
-------