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 en cours. Le processus en cours sera le seul dans son groupe et sa session.

VALEUR RENVOYÉE
S'il réussit, setsid() renvoie l'ID de session du processus en cours. S'il échoue, il renvoie -1 et errno contient le code d'erreur.

ERREURS
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'ID session de son père. L'ID 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
setpgid(2), setpgrp(2), tcgetsid(3)

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 10 décembre 2007.

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.