killpg(3) Library Functions Manual killpg(3)

ИМЯ

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

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.

ОШИБКИ

В sig задан неправильный номер сигнала.
Процесс не имеет достаточно прав для отправки сигнала ни одному из группы процессов-получателей. Требуемые права смотрите в kill(2).
В группе процессов pgrp нет ни одного процесса.
Номер группы процессов равен 0, но процесс-отправитель не входит ни в какую группу процессов.

ВЕРСИИ

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).

СТАНДАРТЫ

POSIX.1-2008.

ИСТОРИЯ

POSIX.1-2001, SVr4, 4.4BSD (first appeared in 4BSD).

СМ. ТАКЖЕ

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 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

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

31 октября 2023 г. Linux man-pages 6.06