KILLPG(2)

NOM
killpg - Envoyer un signal à un groupe de processus

SYNOPSIS
#include <signal.h>

int killpg(int pgrp, int sig);

Exigences de macros de test de fonctionnalités pour la glibc (voir feature_test_macros(7)) :

killpg() : _BSD_SOURCE || _XOPEN_SOURCE >= 500

DESCRIPTION
killpg() envoie le signal sig au groupe de processus pgrp Voir signal(7) pour la liste des signaux. Si pgrp vaut 0, killpg() envoie le signal au groupe de processus du processus appelant. (POSIX dit : si pgrp est inférieur ou égal à 1, le comportement est indéterminé.) Pour qu'un processus ait la permission d'envoyer un signal, il doit avoir les privilèges nécessaires (sous Linux : avoir la capacité CAP_KILL), ou bien l'UID effectif ou réel du processus qui envoie le signal doit être égal au Set-UID sauvé ou réel du processus cible. Dans le cas du signal SIGCONT, il suffit que les processus envoyant et recevant le signal appartiennent à la même session.

VALEUR RENVOYÉE
Cet appel système renvoie 0 s'il réussit, ou -1 s'il échoue, auquel cas errno est renseignée en conséquence.

ERREURS

EINVAL
    Sig n'est pas un numéro de signal valide.

EPERM
    Le processus n'a pas la permission d'envoyer un signal aux processus cibles.

ESRCH
    Aucun processus n'appartient au groupe pgrp.

ESRCH
    On a voulu émettre vers le groupe 0, mais le processus appelant n'appartient pas à un groupe.

CONFORMITÉ
SVr4, BSD 4.4 (la fonction killpg() est apparue dans BSD 4), POSIX.1-2001.

NOTES
Il y a des différences dans la vérification des permissions entre les systèmes de type BSD et ceux de type System V. Voir POSIX pour kill(). Une différence non mentionnée dans POSIX concerne la valeur de retour EPERM : BSD dit que lorsque la vérification des permissions échoue pour au moins un des processus cible, aucun signal n'est envoyé et EPERM est retournée, alors que POSIX dit que EPERM est retournée seulement lorsque la vérification des permissions échoue pour tous les processus cible. Sous Linux, killpg() est implémenté en tant que fonction de bibliothèque qui réalise l'appel kill(-pgrp, sig).

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

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 11 octobre 1996 et révisée le 23 juin 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 killpg ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.