SETSID(2)

NOM
setsid - Créer une session et fixer l'ID du groupe de processus

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, et n'a pas de terminal de contrôle. L'ID du groupe de processus et l'ID de session du processus appelant sont fixés à la valeur de PID du processus appelant. Le processus appelant sera le seul dans son groupe et sa session.

VALEUR RENVOYÉE
L'identifiant de session du processus appelant.

ERREURS
En cas d'erreur, -1 est renvoyée et errno contient le code de l'erreur. La seule erreur susceptible de se produire est EPERM. Elle est déclenchée si l'ID 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.

CONFORMITÉ
SVr4, POSIX.1-2001.

NOTES
Un processus fils créé avec fork(2) hérite de l'identifiant de session de son père. L'identifiant de session est préservé à travers un execve(2). Le leader d'un groupe est le processus dont le PID est égal à l'ID du groupe. Pour s'assurer que setsid() réussira, il faut effectuer un fork(2), suivi d'un _exit(2) pour le père, et le fils appellera setsid().

VOIR AUSSI
getsid(2), setpgid(2), setpgrp(2), tcgetsid(3), credentials(7)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 15 octobre 1996 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 setsid ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.