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 signals in the documentation for SignalAction().

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.

Examples:

See sigprocmask().

Classification:

POSIX 1003.1 XSI

Safety:
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

getpid(), kill(), setsid(), sigaction(), signal(), SignalKill(), sigqueue()