VMS Help
System Services, $DELPRC
*Conan The Librarian
|
Allows a process to delete itself or another process.
Format
SYS$DELPRC [pidadr] ,[prcnam] ,[flags]
C Prototype
int sys$delprc (unsigned int *pidadr, void *prcnam);
pidadr
OpenVMS usage:process_id
type: longword (unsigned)
access: modify
mechanism: by reference
Process identification (PID) of the process to be deleted. The
pidadr argument is the address of a longword that contains the
PID. The pidadr argument can refer to a process running on the
local node or a process running on another node in the OpenVMS
Cluster system.
You must specify the pidadr argument to delete processes in other
UIC groups.
prcnam
OpenVMS usage:process_name
type: character-coded text string
access: read only
mechanism: by descriptor-fixed-length string descriptor
Process name of the process to be deleted. The prcnam is the
address of a character string descriptor pointing to the
process name string. A process running on the local node can
be identified with a 1- to 15-character string. To identify
a process on a particular node on a cluster, specify the full
process name, which includes the node name as well as the process
name. The full process name can contain up to 23 characters.
You use the prcnam argument to delete only processes in the
same UIC group as the calling process, because process names
are unique to UIC groups, and the operating system uses the UIC
group number of the calling process to interpret the process name
specified by the prcnam argument.
You must use the pidadr argument to delete processes in other
groups.
flags
OpenVMS usage:mask
type: longword (unsigned)
access: read only
mechanism: by value
The flags argument can be used to control whether exit handlers
are called by $DELPRC. If the flags argument is not specified
or is specified with a zero, the system parameter DELPRC_EXIT
controls what exit handlers, if any, are called by $DELPRC.
The $DELPRCSYMDEF macro defines a symbolic name for EXIT and
NOEXIT. The EXIT flag should be or'd with the access mode defined
by the $PSLDEF macro for the initial exit handler.
The following table describes each flag:
Flag Description
DELPRC$M_ When set, exit handlers as specified by DELPRC$M_
EXIT MODE are called. This flag is ignored for a hard
suspended process.
DELPRC$M_ 2 bit field: values psl$c_kernel, psl$c_exec,
MODE psl$c_super, psl$c_user (from the $PSLDEF macro)
DELPRC$M_ Set to disable any exit handler execution
NOEXIT
NOTE
Deleting the current process:
When $DELPRC is used to delete the current process,
execution cannot continue in the mode from which $DELPRC
was called. The first exit handlers that are called will be
in the next more privileged mode relative to the mode from
which $DELPRC was called (subject to options defined). For
example:
o $DELPRC called from user mode can call supervisor mode
exit handlers.
o $DELPRC called from exec mode can only execute kernel
mode exit handlers.
o $DELPRC called from kernel mode cannot call exit
handlers.