1. NOM

killpg - Envoyer un signal à un groupe de processus

2. SYNOPSIS

#include <signal.h>

int killpg(int pgrp, int sig);

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

  • killpg() :
        _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

3. DESCRIPTION

killpg() envoie le signal sig au groupe de processus pgrp. Consultez 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 puisse envoyer un signal, il doit avoir les privilèges nécessaires (sous Linux : avoir la capacité CAP_KILL), ou 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.

4. VALEUR RENVOYÉE

S'il réussit, cet appel système renvoie 0. S'il échoue, il renvoie -1 et remplit errno en conséquence.

5. ERREURS

  • EINVAL
        sig n'est pas un numéro de signal valide.
  • EPERM
        Le processus appelant n'a pas l'autorisation 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 en cours n'appartient pas à un groupe.

6. CONFORMITÉ

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

7. 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. Consultez l'explication de 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 et 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é comme une fonction de bibliothèque appelant kill(-pgrp, sig).

8. VOIR AUSSI

9. COLOPHON

Cette page fait partie de la publication 3.52 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

10. TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».