dwww Home | Manual pages | Find package

setsid(2)                     System Calls Manual                    setsid(2)

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

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'ori-
       gine ; 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  en-
       fant  (qui,  par  définition, ne peut pas être un leader de groupe) ap-
       pelle 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  en-
       voyé  à 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),  creden-
       tials(7), sched(7)

TRADUCTION
       La  traduction française de cette page de manuel a été créée par Chris-
       tophe Blaess <https://www.blaess.fr/christophe/>, Stéphan  Rafin  <ste-
       phan.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.cou-
       lon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>,  Thomas  Huriaux
       <thomas.huriaux@gmail.com>,  Nicolas François <nicolas.francois@centra-
       liens.net>, Florentin Duneau <fduneau@gmail.com>, Simon  Paillard  <si-
       mon.paillard@resel.enst-bretagne.fr>,    Denis   Barbier   <barbier@de-
       bian.org>, David Prévot  <david@tilapin.org>,  Cédric  Boutillier  <ce-
       dric.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⟩.

Pages du manuel de Linux 6.03   30 octobre 2022                      setsid(2)

Generated by dwww version 1.15 on Sat Jun 29 01:42:31 CEST 2024.