Provided by: manpages-fr-dev_4.19.0-7_all bug

NOM

       setsid - Créer une session et définir l'identifiant du groupe de processus

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <unistd.h>

       pid_t setsid(void);

DESCRIPTION

       setsid() crée une nouvelle session si le processus appelant n'est pas un leader de groupe.
       Le processus appelant devient le leader du nouveau groupe  (c'est-à-dire  que  son  ID  de
       groupe  est  le  même que son ID de processus). Le processus appelant devient également le
       leader du groupe du processus du nouveau groupe de la nouvelle session (à savoir  que  son
       ID de groupe est le même que son ID de processus).

       Le processus appelant sera le seul du nouveau groupe et de la nouvelle session.

       Au  début,  la  nouvelle  session n'a pas de terminal de contrôle. Pour des détails sur la
       manière dont une session obtient un terminal de contrôle, consultez credentials(7).

VALEUR RENVOYÉE

       En cas de succès, l'identifiant  de  la  (nouvelle)  session  du  processus  appelant  est
       renvoyé. En cas d'échec, (pid_t) -1 est renvoyé, et errno contient le code de l'erreur.

ERREURS

       EPERM  L'identifiant  du  groupe de processus d'un processus quelconque est égal au PID du
              processus appelant. En particulier setsid() échoue si  le  processus  appelant  est
              déjà leader d'un groupe.

STANDARDS

       POSIX.1-2001, POSIX.1-2008, SVr4.

NOTES

       Un enfant créé par fork(2) hérite de l'identifiant de session de son parent. L'identifiant
       de session est conservé au travers d'un execve(2).

       Un leader de groupe est un processus dont l'ID de groupe est le même que son PID. Empêcher
       un  leader  de  groupe  d'appeler  setsid()  supprime  la possibilité qu'un leader n'aille
       lui-même dans une nouvelle session alors que d'autres processus  du  même  groupe  restent
       dans  celle  d'origine ; un tel scénario casserait la hiérarchie stricte à deux niveaux de
       sessions et de groupes de processus. Pour vous assurer que setsid()  va  réussir,  appelez
       fork(2)  avec  un  parent  _exit(2), tandis qu'un enfant (qui, par définition, ne peut pas
       être un leader de groupe) appelle setsid().

       Si une session a un terminal de contrôle dont le drapeau CLOCAL n'est  pas  positionné  et
       qu'une  déconnexion se produit, alors le leader de la session recevra un signal SIGHUP. Si
       le leader se termine, le signal SIGHUP sera envoyé à  tous  les  processus  du  groupe  au
       premier plan sur le terminal de contrôle.

       Si  un  processus  leader  de  session  se termine, un signal SIGHUP est envoyé à tous les
       processus du groupe au premier plan sur le terminal de contrôle.

VOIR AUSSI

       setsid(1), getsid(2), setpgid(2), setpgrp(2), tcgetsid(3), credentials(7), sched(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  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   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⟩.