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.
|