Guardian Procedure Calls Reference Manual (G06.25+)

Guardian Procedure Calls (S)
Guardian Procedure Calls Reference Manual522629-013
14-176
SUSPENDPROCESS Procedure
(Superseded by PROCESS_SUSPEND_
.<8:15> PIN assigned by the operating system to identify the process
in the processor
If
process-id[0:2] references a process pair and process-id[3] is specified as
-1, then both members of the process pair are suspended.
Condition Code Settings
< (CCL) indicates that SUSPENDPROCESS failed, or no process designated
process-id exists.
= (CCE) indicates that
process-id is suspended.
> (CCG) does not return from SUSPENDPROCESS.
Considerations
When SUSPENDPROCESS is called on a Guardian process, the caller must either
have the same process access ID as the process or process pair it is attempting to
suspend, have super ID, or be the group manager of the process access ID. See
“Considerations” for the PROCESSACCESSID procedure and to the
Guardian
User’s Guide for information about system security, specifically the process access
ID and super ID.
When SUSPENDPROCESS is called on an OSS process, the security rules that
apply are the same as those that apply when calling the OSS
kill() function.
See the
kill(2) function reference page either online or in the Open System
Services System Calls Reference Manual for details.
SUSPENDPROCESS cannot be used to suspend a high-PIN unnamed process.
However, it can be used to suspend a high-PIN
named process or process pair;
process-id [3] must contain either -1 or two blanks.
To suspend a high-PIN unnamed process, use the PROCESS_SUSPEND_
procedure. See the
Guardian Programmers Guide.
OSS Considerations
When used on an OSS process, SUSPENDPROCESS has the same effect as calling
the OSS
kill() function with the input parameters as follows:
The signal parameter set to SIGSTOP
The pid parameter set to the OSS process ID of the process identified by
process-id in the SUSPENDPROCESS call
The
SIGSTOP signal is delivered to the target process. The SIGCHLD signal is
delivered to the parent of the target process.
Example
CALL SUSPENDPROCESS ( PROC^ID ); ! suspend process