killpg(3) Library Functions Manual killpg(3)

ИМЯ

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

БИБЛИОТЕКА

Стандартная библиотека языка C (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).

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

При успешном выполнении возвращается 0. При ошибке возвращается -1, а в errno содержится код ошибки.

ОШИБКИ

В 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 (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.

2 мая 2024 г. Справочные страницы Linux 6.9.1