killpg()

NAME

killpg() - send signal to a process group

SYNOPSIS

#include <sys/types.h>
#include <signal.h>

int killpg (pid_t pgrp, int signum)

DESCRIPTION

Killpg(3) sends the signal signum to the process group pgrp. See sigaction(2) for a list of signals. If pgrp is 0, killpg(3) sends the signal to the sending process's process group.

The killpg(3) call is successful if the sending process has permission to send signum to any process in the process group list. To be successful, the sending process must have the same user ID as the process group member. As a single special case the continue signal SIGCONT may be sent to any process that is a descendant of the current process.

RETURN VALUES

Upon successful completion, a value of 0 is returned. Otherwise, a value of -1 is returned and the global variable errno is set to indicate the error.

ERRORS

Killpg(3) will fail and no signal will be sent if:

[EINVAL]
Signum is not a valid signal number.
[ESRCH]
No process can be found in the process group specified by pgrp.
[ESRCH]
The process group was given as 0 but the sending process does not have a process group.
[EPERM]
The sending process does not have the appropriate privileges and one or more of the target processes has an effective user ID different from that of the sending process.

SEE ALSO

kill(2)

getpgrp(2)

sigaction(2)

signal(2)