killpg(3)

ИМЯ
killpg - послать сигнал группе процессов

LIBRARY
Standard C library (libc, -lc)

СИНТАКСИС
#include <signal.h>

int killpg(int pgrp, int sig);

    Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

killpg():
    _XOPEN_SOURCE >= 500
        || /* начиная с glibc 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _BSD_SOURCE

ОПИСАНИЕ
killpg() отправляет сигнал sig группе процессов pgrp. Список сигналов можно найти в signal(7).

Если значение pgrp равно 0, то killpg() отправляет сигнал вызывающей группе процессов (в POSIX: если значение pgrp меньше или равно 1, то поведение не определено).

Права, требуемые для отправки сигнала другому процессу, смотрите в kill(2).

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
On success, zero is returned. On error, -1 is returned, and errno is set to indicate the error.

ОШИБКИ

EINVAL
    В sig задан неправильный номер сигнала.

EPERM
    Процесс не имеет достаточно прав для отправки сигнала ни одному из группы процессов-получателей. Требуемые права смотрите в kill(2).

ESRCH
    В группе процессов pgrp нет ни одного процесса.

ESRCH
    Номер группы процессов равен 0, но процесс-отправитель не входит ни в какую группу процессов.

СТАНДАРТЫ
POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD, (killpg() впервые появился в 4BSD).

ЗАМЕЧАНИЯ
There are various differences between the permission checking in BSD-type systems and System V-type systems. See the POSIX rationale for kill(3p). A difference not mentioned by POSIX concerns the return value EPERM: BSD documents that no signal is sent and EPERM returned when the permission check failed for at least one target process, while POSIX documents EPERM only when the permission check failed for all target processes.

  Отличия между библиотекой C и ядром
В Linux killpg() реализован в виде библиотечной функции, которая вызывает kill(-pgrp, sig).

СМ. ТАКЖЕ
getpgrp(2), kill(2), signal(2), capabilities(7), credentials(7)

ПЕРЕВОД
Русский перевод этой страницы руководства был сделан Alex Nik <rage.iz.me@gmail.com>, Azamat Hackimov <azamat.hackimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 (https://www.gnu.org/licenses/gpl-3.0.html) или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.