Man page - kill(2)

Packages contains this manual

Available languages:

en fr pl nl tr ja ru ro

Manual

kill

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
STANDARDS
HISTORIQUE
Notes pour Linux
NOTES
BOGUES
VOIR AUSSI
TRADUCTION

NOM

kill - Envoyer un signal Ă  un processus

BIBLIOTHÈQUE

BibliothĂšque C standard ( libc , -lc )

SYNOPSIS

#include <signal.h>

int kill(pid_t pid , int sig );

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

kill ()
_POSIX_C_SOURCE

DESCRIPTION

L’appel systĂšme kill () peut ĂȘtre utilisĂ© pour envoyer n’importe quel signal Ă  n’importe quel processus ou groupe de processus.

Si pid est positif, le signal sig est envoyĂ© au processus dont l’identifiant est indiquĂ© par pid .

Si pid vaut 0 , alors le signal sig est envoyĂ© Ă  tous les processus appartenant au mĂȘme groupe que le processus appelant.

Si pid vaut -1 , alors le signal sig est envoyé à tous les processus pour lesquels le processus appelant est autorisé à envoyer des signaux, sauf celui de PID 1 ( init ), mais voir plus bas.

Si pid est infĂ©rieur Ă  -1 , alors le signal sig est envoyĂ© Ă  tous les processus du groupe dont l’identifiant est -pid .

Si sig vaut 0 , aucun signal n’est envoyĂ© mais des vĂ©rifications d’existence et de permissions sont rĂ©alisĂ©es. Cela peut ĂȘtre utilisĂ© pour vĂ©rifier l’existence d’un identifiant de processus ou d’un identifiant de groupe de processus auquel l’appelant a le droit d’envoyer un signal.

Pour qu’un processus puisse envoyer un signal, il doit avoir les privilĂšges nĂ©cessaires (sous Linux : avoir la capacitĂ© CAP_KILL dans l’espace de noms utilisateur du processus cible), ou l’UID effectif ou rĂ©el du processus qui envoie le signal doit ĂȘtre Ă©gal au Set-UID sauvegardĂ© 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. (Historiquement, les rĂšgles Ă©taient diffĂ©rentes. Consultez les NOTES.)

VALEUR RENVOYÉE

En cas de rĂ©ussite (au moins un signal a Ă©tĂ© envoyĂ©) 0 est renvoyĂ©, en cas d’échec -1 est renvoyĂ© et errno positionnĂ© pour indiquer l’erreur.

ERREURS

EINVAL

Un signal invalide a été spécifié.

EPERM

Le processus appelant n’a pas l’autorisation d’envoyer un signal à un des processus cibles.

ESRCH

Le processus ou le groupe de processus cible n’existe pas. Remarquez qu’un processus existant peut ĂȘtre un zombie, c’est-Ă -dire qu’il s’est terminĂ© mais n’a pas encore Ă©tĂ© mis en wait (2).

STANDARDS

POSIX.1-2008.

HISTORIQUE

POSIX.1-2001, SVr4, 4.3BSD.

Notes pour Linux

Au fil des diffĂ©rentes versions du noyau, Linux a renforcĂ© les rĂšgles de droits nĂ©cessaires pour qu’un processus non privilĂ©giĂ© envoie un signal Ă  un autre processus. Dans Linux de 1.0 à 1.2.2, un signal pouvait ĂȘtre envoyĂ© si l’UID effectif du processus Ă©metteur correspondait Ă  celui du processus cible, ou si l’UID rĂ©el du processus Ă©metteur correspondait Ă  celui du processus cible. Dans Linux de  1.2.3 à 1.3.77, un signal pouvait ĂȘtre envoyĂ© si l’UID effectif du processus Ă©metteur correspondait Ă  l’UID effectif ou rĂ©el du processus cible. Les rĂšgles actuelles, conformes Ă  POSIX.1, ont Ă©tĂ© adoptĂ©es dans Linux 1.3.78.

NOTES

On ne peut envoyer au processus numĂ©ro 1 ( init ) que des signaux pour lesquels init a expressĂ©ment installĂ© des gestionnaires de signal. Cela Ă©vite que le systĂšme soit arrĂȘtĂ© accidentellement.

POSIX.1 rĂ©clame que kill(-1,sig) envoie sig Ă  tous les processus auxquels l’appelant peut envoyer un signal, sauf Ă  certains processus systĂšme dĂ©pendant de l’implĂ©mentation. Linux autorise un processus Ă  s’envoyer un signal Ă  lui-mĂȘme, mais l’appel kill(-1,sig) n’envoie pas le signal au processus appelant.

POSIX.1 rĂ©clame que si un processus s’envoie un signal Ă  lui-mĂȘme, et si le thread Ă  l’origine de l’envoi n’a pas les signaux bloquĂ©s, et si aucun autre thread ne le dĂ©bloque ou ne l’attende dans un sigwait (3), au moins un signal non bloquĂ© doit ĂȘtre dĂ©livrĂ© au thread Ă  l’origine de l’envoi avant que l’appel Ă  kill () ne soit renvoyĂ©.

BOGUES

Dans Linux 2.6 jusqu’à Linux 2.6.7 inclus, en raison d’un bogue, lorsqu’un signal Ă©tait envoyĂ© Ă  un groupe de processus, kill () Ă©chouait avec l’erreur EPERM si l’appelant n’avait pas la permission d’envoyer le signal Ă  quelques (plutĂŽt qu’à tous ) les membres du groupe. En dĂ©pit de ce code d’erreur, le signal Ă©tait cependant bien envoyĂ© Ă  tous les processus pour lesquels l’appelant en avait la permission.

VOIR AUSSI

kill (1), _exit (2), pidfd_send_signal (2), signal (2), tkill (2), exit (3), killpg (3), sigqueue (3), capabilities (7), credentials (7), signal (7)

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>, Cédric Boutillier <cedric.boutillier@gmail.com>, Frédéric Hantrais <fhantrais@gmail.com> et Jean-Philippe MENGUAL <jpmengual@debian.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .