sigsend(2)sigsend(2)NAMEsigsend(), sigsendset() - send a signal to a process or a group of pro‐
cesses
SYNOPSISDESCRIPTION
The system call sends a signal to a process or a group of processes.
The process or group of processes to which the signal is to be sent is
specified by id and idtype. The signal to be sent is specified by sig
and is either one from the list given in (see signal(2)) or 0.
If sig is equal to zero (the null signal), error checking is performed
but no signal is actually sent. This can be used to check the validity
of id and idtype.
The real or effective user ID of the sending process must match the
real or effective user ID of the receiving process, unless the process
has appropriate privileges, or sig is and the sending process has the
same session ID as the receiving process.
idtype and id work together as follows:
· If idtype is sig will be sent to the process with a process
ID equal to
· If idtype is sig will be sent to any process with a process
group ID equal to
· If idtype is sig will be sent to any process with a session
ID equal to
· If idtype is sig will be sent to any process with an effec‐
tive user ID equal to
· If idtype is sig will be sent to any process with an effec‐
tive group ID equal to
· If idtype is sig will be sent to all processes and id will be
ignored.
· If id is the value of id is taken from the calling process.
The process with a process ID of is always excluded. The process with
a process ID of is included only if idtype is equal to
provides an alternate interface for sending signals to a set of pro‐
cesses.
psp is a pointer to a structure that includes the following members:
idop p_op;
idtype_t p_lidtype;
id_t p_lid;
idtype_t p_ridtype;
id_t p_rid;
The structure defines a set of processes as the result of a set opera‐
tion (difference, union, intersection, or exclusion) on two operands
(idtype/id pairs). The left (right) operand is specified by and takes
the values specified by id and takes the values specified by idtype in
the system call defined above. p_op specifies the operand, and takes
one of the following values:
Set difference.
The resultant set consists of the processes that
are in the left operand and not in the right op‐
erand.
Set intersection.
The resultant set consists of the processes that
are in both the left and right operands.
Set union. The resultant set consists of the processes that
are in either the left or right operand or both.
Set exclusive The resultant set consists of the processes that
are in either the left or right operand but not
in both.
RETURN VALUE
Upon successful completion, returns a value of Otherwise, it returns a
value of −1 and sets to indicate the error.
ERRORS
If fails, it sets errno (see errno(2)) to one of the following values:
[EINVAL] sig is neither a valid signal number nor zero.
[EINVAL] idtype is not a valid value.
[EINVAL] sig is idtype is and id is
[ESRCH] No process can be found corresponding to that
specified by id and idtype.
[EPERM] The user ID of the sending process is not 0, and
its real or effective user ID does not match the
real or effective user ID of the receiving
process, and the calling process is not sending
to a process that shares the same session ID.
SEE ALSOkill(2), signal(2).
sigsend(2)