Provided by: manpages-de_2.5-1_all bug

BEZEICHNUNG

       svipc - System-V-Mechanismen für Interprozesskommunikation

ÜBERSICHT

       #include <sys/msg.h>
       #include <sys/sem.h>
       #include <sys/shm.h>

BESCHREIBUNG

       Diese   Handbuchseite   bezieht   sich   auf   die  Linux-Implementierung  der  System-V-Mechanismen  für
       Interprozesskommunikation: Nachrichten-Warteschlangen (Message Queues), Sätze von  Semaphoren  (Semaphore
       Sets)  und  gemeinsam  genutzte Speichersegmente (Shared Memory Segments). Im Folgenden bedeutet das Wort
       Ressource eine konkrete Umsetzung (Instantiation) eines dieser Mechanismen.

   Ressourcen-Zugriffsrechte
       Für jede Ressource verwaltet das System in einer  allgemeinen  Struktur  des  Typs  struct  ipc_perm  die
       Informationen, die zur Bestimmung der Rechte für eine IPC-Operation notwendig sind. Die Struktur ipc_perm
       enthält die folgenden Elemente:

           struct ipc_perm {
               uid_t          cuid;   /* Benutzer-ID des Urhebers */
               gid_t          cgid;   /* Gruppen-ID des Urhebers */
               uid_t          uid;    /* Benutzer-ID des Berechtigten */
               gid_t          gid;    /* Gruppen-ID des Berechtigten */
               unsigned short mode;   /* Lese- und Schreibrechte */
           };

       Die  9  niedrigstwertigen  Bits  des Elements mode der Struktur ipc_perm legen die Zugriffsrechte auf die
       Ressource für  Prozesse  fest,  die  einen  IPC-Systemaufruf  ausführen.  Die  Rechte  werden  wie  folgt
       interpretiert:

           0400    Lesen durch Benutzer.
           0200    Schreiben durch Benutzer.
           0040    Lesen durch Gruppe.
           0020    Schreiben durch Gruppe.
           0004    Lesen durch Andere.
           0002    Schreiben durch Andere.

       Die  Bits  0100,  0010  und  0001  (die  Ausführungsbits) werden nicht vom System benutzt. Darüber hinaus
       bedeutet »schreiben« für Sätze von Semaphoren tatsächlich »verändern«.

       Dieselbe System-Header-Datei definiert auch die folgenden symbolischen Konstanten:

       IPC_CREAT     Eintrag erzeugen, wenn Schlüssel nicht vorhanden.

       IPC_EXCL      Misserfolg, wenn Schlüssel vorhanden.

       IPC_NOWAIT    Fehler, wenn die Anforderung warten muss.

       IPC_PRIVATE   privater Schlüssel

       IPC_RMID      Ressource entfernen

       IPC_SET       Optionen für Ressourcen setzen

       IPC_STAT      Optionen für Ressourcen feststellen

       Beachten Sie, dass IPC_PRIVATE vom Typ key_t ist. Alle anderen symbolischen Konstanten  sind  Felder  von
       Schaltern (Flags), für die eine ODER-Verknüpfung mit einer int-Variablen als Ergebnis möglich ist.

   Nachrichten-Warteschlangen (Message queues)
       Eine  Nachrichten-Warteschlange (im Folgenden kurz Queue) wird eindeutig über ihre msqid (einen positiven
       Integer) identifiziert und ist mit einer Datenstruktur des Typs struct msquid_ds verbunden. Die  Struktur
       wird in <sys/msg.h> definiert und besteht aus den folgenden Elementen:

           struct msqid_ds {
               struct ipc_perm msg_perm;
               msgqnum_t       msg_qnum;    /* Anzahl der Nachrichten in */
                                            /* der Queue */
               msglen_t        msg_qbytes;  /* maximale Nachrichtenlänge */
                                            /* für die Queue */
               pid_t           msg_lspid;   /* PID des letzten Aufrufs von */
                                            /* msgsnd(2) */
               pid_t           msg_lrpid;   /* PID des letzten Aufrufs von */
                                            /* msgrcv(2)-Aufrufs */
               time_t          msg_stime;   /* Zeitpunkt des letzten
                                            /* msgsnd(2)-Aufrufs */
               time_t          msg_rtime;   /* Zeitpunkt des letzten
                                            /* msgrcv(2)-Aufrufs */
               time_t          msg_ctime;   /* Zeitpunkt der letzten */
                                            /* Änderung */
           };

       msg_perm   Die Struktur ipc_perm legt die Zugriffsrechte auf die Queue fest.

       msg_qnum   aktuelle Anzahl der Nachrichten in der Queue

       msg_qbytes größte erlaubte Nachrichtenlänge in Byte für die Queue

       msg_lspid  ID des Prozesses, der als letzter msgsnd(2) aufgerufen hat.

       msg_lrpid  ID des Prozesses, der als letzter msgrcv(2) aufgerufen hat.

       msg_stime  Zeitpunkt des letzten Aufrufs von msgsnd(2)

       msg_rtime  Zeitpunkt des letzten Aufrufs von msgcv(2)

       msg_ctime  Zeitpunkt des letzten Systemaufrufs, bei dem ein Element von msqid_ds geändert wurde.

   Semaphoren-Gruppen (Semaphore Sets)
       Ein  Gruppe  von  Semaphoren wird eindeutig durch seine semid (einen positiven Integer) identifiziert und
       ist mit einer Datenstruktur des  Typs  struct  semid_ds  verbunden.  Die  Struktur  wird  in  <sys/sem.h>
       definiert und enthält die folgenden Elemente:

                  struct semid_ds {
                      struct ipc_perm sem_perm;
                      time_t          sem_otime; /* Zeitpunkt des letzten Aufrufs */
                                                 /* von semop */
                      time_t          sem_ctime; /* Zeitpunkt des letzten Aufrufs */
                                                 /* von semctl */
                      unsigned long   sem_nsems; /* Anzahl der Semaphoren in der Gruppe */
                  };

       sem_perm   Die Struktur ipc_perm legt die die Zugriffsrechte für die Semaphoren-Gruppe fest.

       sem_otime  Zeitpunkt des letzten Aufrufs von semop(2)

       sem_ctime  Zeitpunkt  des  letzten  Aufrufs  von semctl(2), der einen Eintrag der oben genannten Struktur
                  oder einen zur Gruppe gehörenden Semaphor geändert hat.

       sem_nsems  Anzahl der Semaphoren in der Gruppe. Jeder Semaphor der Gruppe wird repräsentiert durch  einen
                  nicht negativen Integerwert zwischen 0 und sem_nsems-1.

       Ein Semaphor ist eine Datenstruktur des Typs struct sem mit folgenden Elementen:

           struct sem {
               int semval;  /* Wert des Semaphors */
               int sempid;  /* PID des Prozesses, der zuletzt veränderte */
           };

       semval     Wert des Semaphors: eine nicht negative ganze Zahl (nonnegative integer)

       sempid     PID des letzten Prozesses, der den Wert dieser Semaphore veränderte.

   Gemeinsame Speichersegmente
       Ein  gemeinsames Speichersegment wird eindeutig durch seine shmid (einen positiven Integer) identifiziert
       und ist mit einer Datenstruktur des Typs struct shmid_ds verbunden.  Die  Struktur  wird  in  <sys/shm.h>
       definiert und enthält die folgenden Elemente:

           struct shmid_ds {
               struct ipc_perm shm_perm;
               size_t          shm_segsz;   /* Segmentgröße */
               pid_t           shm_cpid;    /* PID des Erzeugers */
               pid_t           shm_lpid;    /* PID der letzten Operation */
               shmatt_t        shm_nattch;  /* Anzahl der zugreifenden */
                                            /* Prozesse */
               time_t          shm_atime;   /* Zeitpunkt der letzten */
                                            /* Ankopplung */
               time_t          shm_dtime;   /* Zeitpunkt der letzten */
                                            /* Trennung */
               time_t          shm_ctime;   /* Zeitpunkt der letzten */
                                            /* Änderung */
           };

       shm_perm   Struktur  des  Typs  ipc_perm  für  die  Festlegung  der  Zugriffsrechte  auf  das  gemeinsame
                  Speichersegment.

       shm_segsz  Größe des gemeinsamen Speichersegments in Byte

       shm_cpid   ID des Prozesses, der das gemeinsame Speichersegment eingerichtet hat.

       shm_lpid   ID des letzten Prozesses, der shmat(2) oder shmdt(2) aufgerufen hat.

       shm_nattch Anzahl von Prozessen (Attaches), die derzeit mit diesem gemeinsamen Speichersegment arbeiten.

       shm_atime  Zeitpunkt des letzten Aufrufs von shmat(2)

       shm_dtime  Zeitpunkt des letzten Aufrufs von shmdt(2)

       shm_ctime  Zeitpunkt des letzten Aufrufs von shmctl(2), der shmid_ds verändert hat.

   IPC-Namensräume
       Für  eine  Diskussion  der  Interaktion  von  System-V-IPC-Objekten  und   IPC-Namensräumen   lesen   Sie
       namespaces(7).

SIEHE AUCH

       ipcmk(1),  ipcrm(1),  ipcs(1),  lsipc(1),  ipc(2), msgctl(2), msgget(2), msgrcv(2), msgsnd(2), semctl(2),
       semget(2), semop(2), shmat(2), shmctl(2), shmdt(2), shmget(2), ftok(3), namespaces(7)

KOLOPHON

       Diese Seite ist Teil der Veröffentlichung  4.15  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 https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die  deutsche  Übersetzung dieser Handbuchseite wurde von Mike Fengler <mike@krt3.krt-soft.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>.

Linux                                             15. März 2016                                         SVIPC(7)