killpg()
Send a signal to a process group
Synopsis:
#include <sys/types.h>
#include <signal.h>
int killpg( pid_t pgrp,
int sig );
Arguments:
- pid
- The ID of the process group that you want to send a signal to.
- sig
- Zero, or the signal that you want to send.
For a complete list of signals, see
POSIX and QNX OS signals
in the documentation for SignalAction().If the signal terminates a process, the cleanup of the terminated process occurs by default at the priority of the thread that sent the signal. As a QNX OS extension, if you OR the SIG_TERMER_NOINHERIT flag (defined in <signal.h>) into sig, the cleanup occurs at the priority of the thread that received the signal.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The killpg() function sends the signal sig to the process group specified by pgrp. If sig is zero, no signal is sent, but pgrp is still checked for validity.
If pgrp is greater than 1, killpg (pgrp, sig) is equivalent to kill (−pgrp, sig).
Returns:
Zero, or -1 if an error occurs (errno is set).
Errors:
- EAGAIN
- Insufficient system resources are available to deliver the signal.
- EINVAL
- The signal sig is invalid or not supported.
- EPERM
- The process doesn't have permission to send this signal to any receiving process.
- ESRCH
- No process group can be found corresponding to the specified pgrp, or pgrp is less than or equal to 1.
Classification:
Safety: | |
---|---|
Cancellation point | No |
Signal handler | Yes |
Thread | Yes |