Scroll to navigation

SETSID(2) Linux-Programmierhandbuch SETSID(2)

BEZEICHNUNG

setsid - erzeugt eine neue Sitzung und setzt die Prozessgruppen-ID

ÜBERSICHT

#include <unistd.h>
 
pid_t setsid(void);
 

BESCHREIBUNG

setsid() erzeugt eine neue Sitzung, wenn der aufrufende Prozess kein Prozessgruppen-Führer ist. Der aufrufende Prozess wird dann Führer der neuen Sitzung und der Prozessgruppen-Führer der neuen Prozessgruppe, außerdem hat er kein Terminal (tty), das ihn steuert. Die Prozessgruppen-ID und die Session-ID des aufrufenden Prozesses wird auf die Prozess-ID des aufrufenden Prozesses gesetzt. Der aufrufende Prozess ist der einzige Prozess in dieser neuen Prozessgruppe und in dieser Sitzung.

RÜCKGABEWERT

Bei Erfolg wird die (neue) Sitzungs-ID des aufrufenden Prozesses zurückgeliefert. Im Fehlerfall ist der Rückgabewert (pid_t) -1 und errno wird entsprechend gesetzt.

FEHLER

EPERM
Die Prozessgruppen-ID irgendeines Prozesses der Prozessgruppe ist die PID des aufrufenden Prozesses. Somit schlägt der Aufruf von setsid() insbesondere dann fehl, wenn der aufrufende Prozess bereits ein Prozessgruppen-Führer ist.

KONFORM ZU

SVr4, POSIX.1-2001.

ANMERKUNGEN

Ein mittels fork(2) erzeugter Kindprozess erbt die Sitzungs-ID seines Vorfahren. Die Sitzungs-ID bleibt über einen Aufruf von execve(2) erhalten.
 
Ein Prozess, dessen PID und Prozessgruppen-ID gleich sind, ist ein Prozessgruppen-Führer. Um sicher zu gehen, dass setsid() Erfolg haben wird, rufe man fork(2) und _exit(2) auf und erst im Kindprozess setsid().

SIEHE AUCH

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

KOLOPHON

Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux- man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler gemeldet werden können, finden sich unter http://www.kernel.org/doc/man-pages/.
 

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Stefan Janke <gonzo@burg.studfb.unibw-muenchen.de> und Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> erstellt.
 
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
 
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.
3. Dezember 2008 Linux