setsid(2) System Calls Manual setsid(2) NOM setsid - Creer une session et definir l'identifiant du groupe de processus BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include pid_t setsid(void); DESCRIPTION setsid() cree 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-a-dire que son ID de groupe est le meme que son ID de processus). Le processus appelant devient egalement le leader du groupe du processus du nouveau groupe de la nouvelle session (a savoir que son ID de groupe est le meme que son ID de processus). Le processus appelant sera le seul du nouveau groupe et de la nouvelle session. Au debut, la nouvelle session n'a pas de terminal de controle. Pour des details sur la maniere dont une session obtient un terminal de controle, consultez credentials(7). VALEUR RENVOYEE En cas de succes, l'identifiant de la (nouvelle) session du processus appelant est renvoye. En cas d'echec, (pid_t) -1 est renvoye, et errno contient le code de l'erreur. ERREURS EPERM L'identifiant du groupe de processus d'un processus quelconque est egal au PID du processus appelant. En particulier setsid() echoue si le processus appelant est deja leader d'un groupe. STANDARDS POSIX.1-2008. HISTORIQUE POSIX.1-2001, SVr4. NOTES Un enfant cree par fork(2) herite de l'identifiant de session de son parent. L'identifiant de session est conserve au travers d'un execve(2). Un leader de groupe est un processus dont l'ID de groupe est le meme que son PID. Empecher un leader de groupe d'appeler setsid() supprime la possibilite qu'un leader n'aille lui-meme dans une nouvelle session alors que d'autres processus du meme groupe restent dans celle d'origine ; un tel scenario casserait la hierarchie stricte a deux niveaux de sessions et de groupes de processus. Pour vous assurer que setsid() va reussir, appelez fork(2) avec un parent _exit(2), tandis qu'un enfant (qui, par definition, ne peut pas etre un leader de groupe) appelle setsid(). Si une session a un terminal de controle dont le drapeau CLOCAL n'est pas positionne et qu'une deconnexion se produit, alors le leader de la session recevra un signal SIGHUP. Si le leader se termine, le signal SIGHUP sera envoye a tous les processus du groupe au premier plan sur le terminal de controle. Si un processus leader de session se termine, un signal SIGHUP est envoye a tous les processus du groupe au premier plan sur le terminal de controle. VOIR AUSSI setsid(1), getsid(2), setpgid(2), setpgrp(2), tcgetsid(3), credentials(7), sched(7) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Cedric Boutillier , Frederic Hantrais et Jean-Philippe MENGUAL Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 setsid(2)