Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

sigsendset(2) [osf1 man page]

sigsend(2)							System Calls Manual							sigsend(2)

NAME
sigsend, sigsendset - Send a signal to one or more processes SYNOPSIS
#include <sys/types.h> #include <sys/signal.h> #include <sys/procset.h> int sigsend( idtype_t idtype, id_t id, int sig ); int sigsendset( const procset_t *psetp, int sig ); LIBRARY
Standard C Library (libc) PARAMETERS
Specifies a process or group of processes to which a signal is sent. Specifies how the id parameter is to be interpreted. Specifies the signal to be sent. Points to a procset_t structure that defines a set of processes. DESCRIPTION
The sigsend function sends a signal to a group of processes specified by the id and idtype parameters. The sig parameter specifies the sig- nal to be sent. It contains either a valid signal or a zero (0), which indicates that no signal is to be sent, though the usual error checking will still be performed. To send the signal, the real or effective user IDs of the sending process must match those of the receiving process, unless the sending process has appropriate privileges, or the sig parameter is SIGCONT and the receiving process is in the same session as the sender. The id and the idtype parameters together select the target process(es) according to the following rules: If the idtype parameter is set to P_PID, the target process is the process whose process ID is equal to (pid_t)id. If the idtype parameter is set to P_GID, the target pro- cesses are those whose effective group ID is equal to (gid_t)id. If the idtype parameter is set to P_UID, the target processes are those whose effective user ID is equal to (uid_t)id. If the idtype parameter is set to P_PGID, the target processes are those whose process group ID is equal to (pid_t)id. If the idtype parameter is set to P_SID, the target processes are those whose session ID is equal to (pid_t)id. If the idtype parameter is set to P_PPID, sig is sent to all children of id. If the idtype parameter is set to P_CID, sig is sent to any process whose scheduling class ID is equal to id. If the idtype parameter is set to P_ALL, all eligible processes are targets of this operation, and id is ignored. If the id parameter is set to P_MYID, the value used for id is taken from the calling process. The process having a process ID of (pid_t)0 is never a target, and the process with a process ID of (pid_t)1 is targeted only if the idtype parameter is equal to P_PID. In addition, certain system processes may not be signalled. The sigsendset function allows sending to a set of processes that is constructed by a boolean logic operation performed on two sets of potential target processes defined as described above for sigsend. For the sigsendset function, the psetp parameter points the procset_t structure. This structure is described in detail on the procset(4) reference page. RETURN VALUES
Upon successful completion, both functions return the value zero (0). Otherwise, a value of -1 is returned, and errno is set to indicate the error. ERRORS
If any of the following conditions occur, the sigsend or sigsendset function sets errno to the corresponding value: The value specified by the idtype parameter is not valid. The value specified by the sig parameter is not zero and is not a valid signal. The sig parameter is set to SIGKILL, the idtype parameter is set to P_PID, and the id parameter is set to the process ID of a special system process. The id parameter specifies the process ID of a special system process. Either the id parameter of the sigsend function, or the p_lid or p_rid members of the structure pointed at by the psetp parameter for the sigsendset function are out-of-range. The calling process lacks suffi- cient privilege, the real or effective user IDs do not match, and this invocation is not sending SIGCONT to a process in the same session. The processes specified by the id and idtype, or the psetp parameters do not exist. SEE ALSO
Functions: kill(2), setpgid(2), setsid(2), sigaction(2) Routines: sigset(3) Files: procset(4), signal(4) sigsend(2)
Man Page