HP OpenVMS DCL Dictionary
 
 
F$PID
 
Returns a process identification (PID) number and updates the context 
symbol to point to the current position in the system's process list.
 
 
Format
F$PID (context-symbol)
  
Return Value
 
A character string containing the PID of a process in the system's list 
of processes.
 
Argument
context-symbol
Specifies a symbol that DCL uses to store a pointer into the system's 
list of processes. The F$PID function uses this pointer to return a PID.
Specify the context symbol by using a symbol. The first time you use 
the F$PID function in a command procedure, you should use a symbol that 
is either undefined or equated to the null string ("") or a context 
symbol that has been created by the F$CONTEXT function.
 
If the context symbol is undefined or equated to a null string, the 
F$PID function returns the first PID in the system's process list that 
it has the privilege to access. That is, if you have GROUP privilege 
and if the context symbol is null or undefined, the F$PID function 
returns the PID of the first process in your group. If you have WORLD 
privilege, the F$PID function returns the PID of the first process in 
the list. If you have neither GROUP nor WORLD privilege, the F$PID 
returns the first process that you own. Subsequent calls to F$PID 
return the rest of the processes on the system you are accessing.
 
If the context symbol has been created by the F$CONTEXT function, the 
F$PID function returns the first process name in the system's process 
list that fits the criteria specified in the F$CONTEXT calls. 
Subsequent calls to F$PID return only the PIDs of those processes that 
meet the selection criteria set up by the F$CONTEXT function and that 
are accessible to your current privileges.
  
 
Description
The F$PID function returns a process identification (PID) number and 
updates the context symbol to point to the current position in the 
system's process list. You can step through all the processes on a 
system, or use the lexical function F$CONTEXT to specify selection 
criteria. The function F$CONTEXT is not required.
The PIDs returned by the F$PID function depend on the privilege of your 
process. If you have GROUP privilege, the F$PID function returns PIDs 
of processes in your group. If you have WORLD privilege, the F$PID 
function returns PIDs of all processes on the system. If you lack GROUP 
or WORLD privilege, the F$PID function returns only those processes 
that you own.
 
The F$CONTEXT function enables the F$PID function to retrieve processes 
from any node in a mixed-architecture OpenVMS Cluster system.
 
The first time you use the F$PID function, use a symbol that is either 
undefined or equated to the null string or to a context symbol that has 
been created by the F$CONTEXT function. This causes the F$PID function 
to return the first PID in the system's process list that you have the 
privilege to access. It also causes the F$PID function to initialize 
the context-symbol argument.
 
Once the context-symbol argument is initialized, each 
subsequent F$PID returns the next PID in sequence, using the selection 
criteria set up by the F$CONTEXT function, if any, and updates the 
context symbol. After the last PID in the process list is returned, the 
F$PID function returns a null string.
  
 
Example
 
  
     | 
   
    
       
      
$ CONTEXT = "" 
$ START: 
$     PID = F$PID(CONTEXT) 
$     IF PID .EQS. "" THEN EXIT 
$     SHOW SYMBOL PID 
$     GOTO START 
      
      
     | 
   
 
This command procedure uses the F$PID function to display a list of 
PIDs. The assignment statement declares the symbol CONTEXT, which is 
used as the context-symbol argument for the F$PID 
function. Because CONTEXT is equated to a null string, the F$PID 
function returns the first PID in the process list that it has the 
privilege to access.
 
The PIDs displayed by this command procedure depend on the privilege of 
your process. When run with GROUP privilege, the PIDs of users in your 
group are displayed. When run with WORLD privilege, the PIDs of all 
users on the system are displayed. Without GROUP or WORLD privilege, 
only those processes that you own are displayed.
  
  
 |