killpg(3) Library Functions Manual killpg(3)

killpg - wysyła sygnał do grupy procesów

Standardowa biblioteka C (libc, -lc)

#include <signal.h>
int killpg(int pgrp, int sig);
Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

killpg():

    _XOPEN_SOURCE >= 500
        || /* Od glibc 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _BSD_SOURCE

killpg() wysyła sygnał sig do grupy procesów pgrp. Lista sygnałów znajduje się w podręczniku sigaction(2).

Jeśli pgrp jest równe 0, to killpg wysyła sygnał do grupy procesów procesu wysyłającego (POSIX wskazuje: jeśli pgrp jest mniejsze lub równe 1, zachowanie jest niezdefiniowane).

Uprawnienia potrzebne do wysłania sygnału do innego procesu opisano w podręczniku kill(2).

Po pomyślnym zakończeniu zwracane jest zero. Po błędzie zwracane jest -1 i ustawiane errno, wskazując błąd.

sig nie jest prawidłowym numerem sygnału.
Proces nie ma uprawnień do wysyłania sygnału do żadnego z procesów docelowych. Potrzebne uprawnienia opisano w podręczniku kill(2).
Nie znaleziono żadnego procesu w grupie określonej przez pgrp.
Podano zerową grupę, lecz proces wysyłający nie ma grupy procesów.

Istnieją pewne różnice pomiędzy sprawdzaniem uprawnień w systemach typu BSD i systemach typu System V. Uzasadnienie POSIX opisano w podręczniku kill(3p). Różnica nieopisana przez POSIX dotyczy wartości EPERM: BSD dokumentuje brak wysyłania sygnału i zwrócenie EPERM, gdy zawiodło sprawdzanie uprawnień dla co najmniej jednego procesu docelowego, natomiast POSIX dokumentuje EPERM tylko, gdy zawiodło sprawdzanie uprawnień dla wszystkich procesów docelowych.

W Linuksie, killpg() zaimplementowano jako funkcję biblioteczną czyniącą wywołanie kill(-pgrp, sig).

POSIX.1-2008.

POSIX.1-2001, SVr4, 4.4BSD (pojawiło się pierwotnie w 4BSD).

getpgrp(2), kill(2), signal(2), capabilities(7), credentials(7)

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

2 maja 2024 r. Linux man-pages 6.8