Provided by: manpages-de-dev_1.11-1_all bug

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 (seine Sitzungs-ID ist  die
       gleiche  wie  die Prozess-ID). Der aufrufende Prozess wird außerdem zum Führer einer neuen
       Prozessgruppe  in  dieser  Sitzung  (seine  Prozessgruppen-ID  ist  die  gleiche  wie  die
       Prozess-ID).

       Der  aufrufende  Prozess wird der einzige Prozess in der neuen Prozessgruppe und der neuen
       Sitzung sein. Die neue Sitzung hat kein steuerndes Terminal.

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

       POSIX.1-2001, POSIX.1-2008, SVr4.

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 Prozessgruppen-Führer ist ein Prozess, dessen Prozessgruppen-ID und Prozess-ID  gleich
       sind.  Wenn  einem  Prozessgruppen-Führer  verboten  wird,  setsid() aufzurufen, wird auch
       verhindert, dass der Prozessgruppen-Führer sich selbst in einer neuen  Sitzung  platziert,
       während  andere  Prozesse  in der Prozessgruppe in ihrer Originalsitzung verbleiben. Solch
       ein Szenario würde die strikte zweistufige Hierarchie  von  Sitzungen  und  Prozessgruppen
       verletzen.  Um  sicher  zu  stellen,  dass  setsid()  funktioniert,  rufen Sie fork(2) und
       _exit(2) auf, und lassen Sie setsid() durch den Kindprozess ausführen.

SIEHE AUCH

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

KOLOPHON

       Diese Seite  ist  Teil  der  Veröffentlichung  4.04  des  Projekts  Linux-man-pages.  Eine
       Beschreibung  des  Projekts,  Informationen,  wie  Fehler gemeldet werden können sowie die
       aktuelle Version dieser Seite 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>,  Martin  Eberhard Schauer <Martin.E.Schauer@gmx.de>
       und Mario Blättermann <mario.blaettermann@gmail.com> 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>.