jdc@beach.cis.ufl.edu (Jeff Capehart) (08/01/88)
Several months ago I asked if there was any way for a process to determine another process' job table name without using the DCL command SHOW LOGICAL/STRUCTURE. The best info I could get was that the job table name is formed by using the JIB address of the process, something like PCB$L_JIB, and that this information is not available through $GETJPI and therefore is known only to the process itself. [Why didn't DEC just use the PID ??] Anyways, I am still looking to see if there is an easier, and [**note**] NON-PRIVILEGED method for doing so. I am almost certain the the SHOW program uses its CMKRNL priv to read through pages of memory where LNM$SYSTEM_DIRECTORY resides to find all the LNM$JOB_xxxxxxxx table names. If this area happens to be readable, then it might be possible to translate each one, and possibly attempt to write to each table, or check the access or owner of the table to see if the UIC matches the UIC of the current process. I am open to any suggestions and comments. Also, does anyone know if the job table naming convention is the same way in VMS V5.0 or did DEC decide to wise up and use the process id for the table name, or at least make the info available with $getjpi ? Special Notes: Proccess A is not in the same job tree as process B, and process A wants to know process B's job table name. Both processes have the same UIC, and therefore access to each others job table, but they have no idea what the name of the other's job table is. -- Jeff Capehart Internet: jdc@beach.cis.ufl.edu University of Florida UUCP: ..!uflorida!beach.cis.ufl.edu!jdc