Open System Services System Calls Reference Manual (G06.25+, H06.03+)
System Functions (k - m) kill(2)
The POSIX.1 standard leaves unspecified the set of system processes that does not receive a sig-
nal when the kill() function is called with pid equal to 0, -1, or a negative number less than -1.
Applications in the HP implementation should therefore not depend on which system processes
receive signals.
Safeguard Considerations
HP recommends that users not use Safeguard protection on OSS processes. However, if users do
use Safeguard protection on OSS processes, the following constraints apply.
For unnamed processes, the Safeguard software applies additional protection if the special
UNNAMED process protection record exists. For signals whose default action is to terminate
the process, the system checks the access control list associated with the UNNAMED protection
record and sends the signal only if the caller has purge authority.
When authority is granted to send a signal to a group of unnamed processes, all group members
receive the signal in one step if the sending process has authority to send signals to all the
processes in the group. Otherwise, the signal is not sent to any member of the group.
For named processes, the Safeguard software applies additional protection if a protection record
exists for the specific process name. For signals whose default action is to terminate the process,
the system checks the access control list associated with the protection record and sends the sig-
nal to the process only if the caller has purge authority.
When the kill() function attempts to send a signal to a group that contains named processes, the
signal is sent to the named members of the group one at a time; that is, not all in one step as with
unnamed processes. Processes joining or leaving the group between sending the signal to the first
process and sending the signal to the last process can therefore affect the result of the combined
operation.
Guardian Process Deletion Messages
When an OSS process terminates, the system performs most of the Guardian process-termination
sequence. One of the steps in that sequence is to check if a Guardian Process Deletion (-101)
message needs to be sent. The Guardian MOM, GMOM, and ANCESTOR attributes of the pro-
cess determine the need to send the message and the recipient of the message.
OSS processes normally have null values for these attributes and therefore do not cause Process
Deletion messages to be sent. If an OSS process is created using any of the following functions
with nonnull values for MOM, GMOM, and ANCESTOR in its process_extension_def struc-
ture, a Process Deletion message is sent during termination:
tdm_fork( )
tdm_exec set of functions
tdm_spawn set of functions
If an OSS process uses the Guardian PROCESS_SETINFO_ procedure to set nonnull values for
MOM, GMOM, and ANCESTOR, a Process Deletion message is sent during termination.
See the Guardian Procedure Errors and Messages Manual for details on the Process Deletion
message. See the PROCESS_SETINFO_ procedure in the Guardian Procedure Calls Reference
Manual for information on setting the MOM field.
Terminated Processes
The kill() function does not return an error when applied to any process that has terminated but
whose process lifetime is not yet exhausted. However, the operation has no effect, because the
process is already terminated. The termination wait status of the process is unaffected by the
operation.
527186-003 Hewlett-Packard Company 4−3