# French translation of manpages
# This file is distributed under the same license as the manpages-l10n package.
# Copyright © of this file:
# Christophe Blaess , 1996-2003.
# Stéphan Rafin , 2002.
# Thierry Vignaud , 1999,2002.
# François Micaux, 2002.
# Alain Portal , 2003-2008.
# Jean-Philippe Guérard , 2005-2006.
# Jean-Luc Coulon (f5ibh) , 2006-2007.
# Julien Cristau , 2006-2007.
# Thomas Huriaux , 2006-2008.
# Nicolas François , 2006-2008.
# Florentin Duneau , 2006-2010.
# Simon Paillard , 2006, 2012-2014.
# Denis Barbier , 2006,2010.
# David Prévot , 2010-2014.
# Jean-Philippe MENGUAL , 2022-2024.
msgid ""
msgstr ""
"Project-Id-Version: manpages-l10n 4.22.0\n"
"POT-Creation-Date: 2024-06-01 06:21+0200\n"
"PO-Revision-Date: 2024-06-02 11:15+0200\n"
"Last-Translator: Jean-Philippe MENGUAL \n"
"Language-Team: French \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Lokalize 22.12.3\n"
#. type: TH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "SHMOP"
msgstr "SHMOP"
#. type: TH
#: archlinux debian-unstable opensuse-tumbleweed
#, no-wrap
msgid "2024-05-02"
msgstr "2 mai 2024"
#. type: TH
#: archlinux debian-unstable
#, no-wrap
msgid "Linux man-pages 6.8"
msgstr "Pages du manuel de Linux 6.8"
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "NAME"
msgstr "NOM"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "shmat, shmdt - System V shared memory operations"
msgstr "shmat, shmdt - Opérations sur la mémoire partagée System V"
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "LIBRARY"
msgstr "BIBLIOTHÈQUE"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "Standard C library (I, I<-lc>)"
msgstr "Bibliothèque C standard (I, I<-lc>)"
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "SYNOPSIS"
msgstr "SYNOPSIS"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B<#include Esys/shm.hE>\n"
msgstr "B<#include Esys/shm.hE>\n"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid ""
"BIB<, const void *_Nullable >IB<, int >IB<);>\n"
"BIB<);>\n"
msgstr ""
"BIB<, const void *_Nullable >IB<, int >IB<);>\n"
"BIB<);>\n"
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "DESCRIPTION"
msgstr "DESCRIPTION"
#. type: SS
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "shmat()"
msgstr "shmat()"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"B() attaches the System\\ V shared memory segment identified by "
"I to the address space of the calling process. The attaching address "
"is specified by I with one of the following criteria:"
msgstr ""
"La fonction B() attache le segment de mémoire partagée System V "
"identifié par I au segment de données du processus appelant. "
"L'adresse d'attachement est indiquée par I avec les critères "
"suivants\\ :"
#. type: IP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "\\[bu]"
msgstr "-"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"If I is NULL, the system chooses a suitable (unused) page-aligned "
"address to attach the segment."
msgstr ""
"Si I vaut NULL, le système choisit une adresse (non utilisée) "
"alignée sur la page convenant pour attacher le segment."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"If I isn't NULL and B is specified in I, the "
"attach occurs at the address equal to I rounded down to the nearest "
"multiple of B."
msgstr ""
"Si I n'est pas NULL et si B est indiqué dans I, "
"l'attachement a lieu à l'adresse égale à I arrondie au multiple "
"inférieur de B."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Otherwise, I must be a page-aligned address at which the attach "
"occurs."
msgstr ""
"Sinon, I doit être alignée sur une frontière de page, où "
"l'attachement a lieu."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"In addition to B, the following flags may be specified in the "
"I bit-mask argument:"
msgstr ""
"En plus de B, les attributs suivants peuvent être indiqués dans le "
"paramètre de masque I :"
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B (Linux-specific; since Linux 2.6.9)"
msgstr "B (spécifique à Linux, depuis Linux 2.6.9)"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Allow the contents of the segment to be executed. The caller must have "
"execute permission on the segment."
msgstr ""
"Autoriser l'exécution du contenu du segment. L'appelant doit disposer du "
"droit d'exécution sur le segment."
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B"
msgstr "B"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Attach the segment for read-only access. The process must have read "
"permission for the segment. If this flag is not specified, the segment is "
"attached for read and write access, and the process must have read and write "
"permission for the segment. There is no notion of a write-only shared "
"memory segment."
msgstr ""
"Attacher le segment en lecture seule. Le processus doit disposer de la "
"permission de lecture dessus. Si cet attribut n'est pas indiqué, le segment "
"est attaché en lecture et écriture, et le processus doit disposer des deux "
"permissions d'accès. Il n'y a pas de notion d'écriture seule pour les "
"segments de mémoire partagée."
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B (Linux-specific)"
msgstr "B (spécifique à Linux)"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"This flag specifies that the mapping of the segment should replace any "
"existing mapping in the range starting at I and continuing for the "
"size of the segment. (Normally, an B error would result if a "
"mapping already exists in this address range.) In this case, I "
"must not be NULL."
msgstr ""
"Cet attribut indique que la projection du segment doit remplacer une "
"projection précédente dans l'intervalle commençant en I et "
"s'étendant sur la taille du segment. Normalement une erreur B "
"devrait se produire si une projection existe déjà dans l'intervalle indiqué. "
"Dans ce cas, I ne doit pas être B."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The B(2) value of the calling process is not altered by the attach. "
"The segment will automatically be detached at process exit. The same "
"segment may be attached as a read and as a read-write one, and more than "
"once, in the process's address space."
msgstr ""
"La valeur B(2) du processus appelant n'est pas altérée par "
"l'attachement. Le segment est automatiquement détaché quand le processus se "
"termine. Le même segment peut être attaché à la fois en lecture seule et en "
"lecture/écriture. Il peut également être attaché en plusieurs endroits de "
"l'espace d'adressage du processus."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"A successful B() call updates the members of the I "
"structure (see B(2)) associated with the shared memory segment as "
"follows:"
msgstr ""
"Quand B() réussit, les membres de la structure I associée "
"au segment de mémoire partagée (consultez B(2)) sont mis à jour "
"ainsi\\ :"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "I is set to the current time."
msgstr "I correspond à l'heure actuelle."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "I is set to the process-ID of the calling process."
msgstr "I contient le PID de l'appelant."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "I is incremented by one."
msgstr "I est incrémenté de 1."
#. type: SS
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "shmdt()"
msgstr "shmdt()"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"B() detaches the shared memory segment located at the address "
"specified by I from the address space of the calling process. The "
"to-be-detached segment must be currently attached with I equal to "
"the value returned by the attaching B() call."
msgstr ""
"La fonction B() détache le segment de mémoire partagée situé à "
"l'adresse indiquée par I. Le segment doit être effectivement "
"attaché, et l'adresse I doit être celle renvoyée précédemment par "
"l'appel B()."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"On a successful B() call, the system updates the members of the "
"I structure associated with the shared memory segment as follows:"
msgstr ""
"Quand B() réussit, les membres de la structure I associée "
"au segment de mémoire partagée sont mis à jour ainsi par le système\\ :"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "I is set to the current time."
msgstr "I correspond à l'heure actuelle."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"I is decremented by one. If it becomes 0 and the segment is "
"marked for deletion, the segment is deleted."
msgstr ""
"I est décrémenté de 1. S'il devient nul et si le segment est "
"marqué pour destruction, il est effectivement détruit."
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "RETURN VALUE"
msgstr "VALEUR RENVOYÉE"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"On success, B() returns the address of the attached shared memory "
"segment; on error, I<(void\\ *)\\ -1> is returned, and I is set to "
"indicate the error."
msgstr ""
"S'il réussit, B() renvoie l'adresse d'attachement du segment de "
"mémoire partagée. En cas d'échec I<(void\\ *)\\ -1> est renvoyé, et I "
"est positionné pour indiquer l'erreur."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"On success, B() returns 0; on error -1 is returned, and I is "
"set to indicate the error."
msgstr ""
"S'il réussit, B() renvoie B<0>. En cas d'échec, B<-1> est renvoyé et "
"I est positionné pour indiquer l'erreur."
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "ERRORS"
msgstr "ERREURS"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "B() can fail with one of the following errors:"
msgstr "B() peut échouer avec une des erreurs suivantes :"
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B"
msgstr "B"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The calling process does not have the required permissions for the requested "
"attach type, and does not have the B capability in the user "
"namespace that governs its IPC namespace."
msgstr ""
"Le processus appelant n'a pas les permissions d'accès nécessaires pour ce "
"type d'attachement et n'a pas la capacité B dans l'espace de "
"noms utilisateur qui gère son espace de noms IPC."
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B"
msgstr "B"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "I points to a removed identifier."
msgstr "I pointe sur un segment détruit."
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B"
msgstr "B"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Invalid I value, unaligned (i.e., not page-aligned and B was "
"not specified) or invalid I value, or can't attach segment at "
"I, or B was specified and I was NULL."
msgstr ""
"La valeur I n'est pas valable, mal alignée (c'est-à-dire pas alignée "
"sur une page et B n'a pas été précisé) ou la valeur I "
"n'est pas valable, ou ne peut pas être attaché à I, ou B "
"a été réclamé et I est B."
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B"
msgstr "B"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "Could not allocate memory for the descriptor or for the page tables."
msgstr "Pas assez de mémoire pour le descripteur ou pour les tables de pages."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "B() can fail with one of the following errors:"
msgstr "B() peut échouer avec une des erreurs suivantes :"
#. The following since Linux 2.6.17-rc1:
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"There is no shared memory segment attached at I; or, I is "
"not aligned on a page boundary."
msgstr ""
"Aucun segment de mémoire partagée n'est attaché à l'adresse I, ou "
"bien I n'est pas aligné une limite de page."
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "STANDARDS"
msgstr "STANDARDS"
#. type: Plain text
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-leap-15-6 opensuse-tumbleweed
msgid "POSIX.1-2008."
msgstr "POSIX.1-2008."
#. type: SH
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "HISTORY"
msgstr "HISTORIQUE"
#. SVr4 documents an additional error condition EMFILE.
#. type: Plain text
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-leap-15-6 opensuse-tumbleweed
msgid "POSIX.1-2001, SVr4."
msgstr "POSIX.1-2001, SVr4."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"In SVID 3 (or perhaps earlier), the type of the I argument was "
"changed from I into I, and the returned type of "
"B() from I into I."
msgstr ""
"Dans SVID 3 (ou peut être auparavant), le type de l'argument I a "
"été modifié de I en I, et le type de retour de "
"B() de I en I."
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "NOTES"
msgstr "NOTES"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"After a B(2), the child inherits the attached shared memory segments."
msgstr ""
"Après un B(2), l'enfant hérite des segments de mémoire partagée "
"attachés."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"After an B(2), all attached shared memory segments are detached from "
"the process."
msgstr ""
"Après un B(2), tous les segments de mémoire partagée sont détachés "
"du (pas détruits)."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Upon B<_exit>(2), all attached shared memory segments are detached from the "
"process."
msgstr ""
"Lors d'un B<_exit>(2), tous les segments de mémoire partagée sont détachés "
"du processus (pas détruits)."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Using B() with I equal to NULL is the preferred, portable "
"way of attaching a shared memory segment. Be aware that the shared memory "
"segment attached in this way may be attached at different addresses in "
"different processes. Therefore, any pointers maintained within the shared "
"memory must be made relative (typically to the starting address of the "
"segment), rather than absolute."
msgstr ""
"Utiliser B() avec I égale à NULL est la manière conseillée "
"et portable d'attacher un segment de mémoire partagée. Soyez conscients que "
"le segment attaché de cette manière peut l'être à des adresses différentes "
"dans les différents processus. Ainsi, tout pointeur contenu dans la mémoire "
"partagée doit être relatif (habituellement par rapport à l'adresse de départ "
"du segment) et pas absolu."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"On Linux, it is possible to attach a shared memory segment even if it is "
"already marked to be deleted. However, POSIX.1 does not specify this "
"behavior and many other implementations do not support it."
msgstr ""
"Sous Linux, il est possible d'attacher un segment de mémoire partagée qui "
"est déjà marqué pour effacement. Cependant, ce comportement n'est pas décrit "
"par POSIX.1 et beaucoup d'autres implémentations ne le permettent pas."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "The following system parameter affects B():"
msgstr "Le paramètre système suivant influe sur B() :"
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B"
msgstr "B"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Segment low boundary address multiple. When explicitly specifying an attach "
"address in a call to B(), the caller should ensure that the address "
"is a multiple of this value. This is necessary on some architectures, in "
"order either to ensure good CPU cache performance or to ensure that "
"different attaches of the same segment have consistent views within the CPU "
"cache. B is normally some multiple of the system page size. (On "
"many Linux architectures, B is the same as the system page size.)"
msgstr ""
"Multiple d’adresse pour limite basse de segment. Lors d’une indication "
"explicite d’adresse d’attache dans un appel B(), l’appelant devrait "
"s’assurer que l’adresse est un multiple de cette valeur. Cela est nécessaire "
"sur certaines architectures, afin de s’assurer soit de bonne performances du "
"cache de processeur, soit que différentes attaches du même segment ont des "
"vues cohérentes dans le cache du processeur. B est normalement un "
"multiple de la taille de page du système (sur de nombreuses architectures "
"Linux, B est identique à la taille de page du système)."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The implementation places no intrinsic per-process limit on the number of "
"shared memory segments (B)."
msgstr ""
"L'implémentation ne met pas de limite intrinsèque par processus pour le "
"nombre maximal de segments de mémoire partagée (B)."
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "EXAMPLES"
msgstr "EXEMPLES"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The two programs shown below exchange a string using a shared memory "
"segment. Further details about the programs are given below. First, we "
"show a shell session demonstrating their use."
msgstr ""
"Les deux programmes présentés ci-dessous échangent une chaîne en utilisant "
"un segment de mémoire partagée. Davantage de détails à leur sujet sont "
"donnés ci-dessous. Tout d'abord, nous présentons une session d'interpréteur "
"qui montre leur utilisation."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"In one terminal window, we run the \"reader\" program, which creates a "
"System V shared memory segment and a System V semaphore set. The program "
"prints out the IDs of the created objects, and then waits for the semaphore "
"to change value."
msgstr ""
"Dans une fenêtre de terminal, nous exécutons le programme « reader » qui "
"crée un segment de mémoire partagée System V et un ensemble de sémaphores "
"System V. Le programme affiche les identifiants des objets créés puis attend "
"que le sémaphore modifie la valeur."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid ""
"$ B<./svshm_string_read>\n"
"shmid = 1114194; semid = 15\n"
msgstr ""
"$ B<./svshm_string_read>\n"
"shmid = 1114194; semid = 15\n"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"In another terminal window, we run the \"writer\" program. The \"writer\" "
"program takes three command-line arguments: the IDs of the shared memory "
"segment and semaphore set created by the \"reader\", and a string. It "
"attaches the existing shared memory segment, copies the string to the shared "
"memory, and modifies the semaphore value."
msgstr ""
"Dans une autre fenêtre de terminal, on exécute le programme « writer ». Ce "
"programme prend trois paramètres en ligne de commande : les identifiants du "
"segment de mémoire partagée et le jeu de sémaphore, créés par le programme "
"« reader » et une chaîne. Il attache le segment de mémoire partagée "
"existant, copie la chaîne dans la mémoire partagée et modifie la valeur du "
"sémaphore."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "$ B<./svshm_string_write 1114194 15 \\[aq]Hello, world\\[aq]>\n"
msgstr "$ B<./svshm_string_write 1114194 15 \\[aq]Bonjour\\[aq]>\n"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Returning to the terminal where the \"reader\" is running, we see that the "
"program has ceased waiting on the semaphore and has printed the string that "
"was copied into the shared memory segment by the writer:"
msgstr ""
"De retour dans le terminal où s'exécute « reader », on voit que le programme "
"a cessé d'attendre le sémaphore et affiche la chaîne copiée dans le segment "
"de mémoire partagée par « writer » :"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "Hello, world\n"
msgstr "Bonjour\n"
#. type: SS
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "Program source: svshm_string.h"
msgstr "Source du programme : svshm_string.h"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The following header file is included by the \"reader\" and \"writer\" "
"programs:"
msgstr ""
"Le fichier d'en-tête suivant est inclus dans les programmes « reader » et "
"« writer » :"
#. type: Plain text
#: archlinux debian-unstable opensuse-tumbleweed
#, no-wrap
msgid ""
"/* svshm_string.h\n"
"\\&\n"
" Licensed under GNU General Public License v2 or later.\n"
"*/\n"
"#ifndef SVSHM_STRING_H\n"
"#define SVSHM_STRING_H\n"
"\\&\n"
"#include Estdio.hE\n"
"#include Estdlib.hE\n"
"#include Esys/sem.hE\n"
"\\&\n"
"#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n"
" } while (0)\n"
"\\&\n"
"union semun { /* Used in calls to semctl() */\n"
" int val;\n"
" struct semid_ds *buf;\n"
" unsigned short *array;\n"
"#if defined(__linux__)\n"
" struct seminfo *__buf;\n"
"#endif\n"
"};\n"
"\\&\n"
"#define MEM_SIZE 4096\n"
"\\&\n"
"#endif // include guard\n"
msgstr ""
"/* svshm_string.h\n"
"\\&\n"
" Sous licence GNU General Public v2 ou postérieure.\n"
"*/\n"
"#ifndef SVSHM_STRING_H\n"
"#define SVSHM_STRING_H\n"
"\\&\n"
"#include Estdio.hE\n"
"#include Estdlib.hE\n"
"#include Esys/sem.hE\n"
"\\&\n"
"#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n"
" } while (0)\n"
"\\&\n"
"union semun { /* Utilisé dans les appels semctl() */\n"
" int val;\n"
" struct semid_ds *buf;\n"
" unsigned short *array;\n"
"#if defined(__linux__)\n"
" struct seminfo *__buf;\n"
"#endif\n"
"};\n"
"\\&\n"
"#define MEM_SIZE 4096\n"
"\\&\n"
"#endif // include guard\n"
#. type: SS
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "Program source: svshm_string_read.c"
msgstr "Source du programme : svshm_string_read.c"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The \"reader\" program creates a shared memory segment and a semaphore set "
"containing one semaphore. It then attaches the shared memory object into "
"its address space and initializes the semaphore value to 1. Finally, the "
"program waits for the semaphore value to become 0, and afterwards prints the "
"string that has been copied into the shared memory segment by the \"writer\"."
msgstr ""
"Le programme « reader » crée un segment de mémoire partagée et un ensemble "
"de sémaphores contenant un sémaphore. Il attache ensuite l'objet en mémoire "
"partagée à son espace d'adressage et initialise la valeur du sémaphore à "
"B<1>. Enfin, il attend que la valeur du sémaphore devienne B<0>, après quoi "
"il affiche la chaîne qui a été copiée dans le segment de mémoire partagée "
"par « writer »."
#. type: Plain text
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-tumbleweed
#, no-wrap
msgid ""
"/* svshm_string_read.c\n"
"\\&\n"
" Licensed under GNU General Public License v2 or later.\n"
"*/\n"
"#include Estdio.hE\n"
"#include Estdlib.hE\n"
"#include Esys/ipc.hE\n"
"#include Esys/sem.hE\n"
"#include Esys/shm.hE\n"
"\\&\n"
"#include \"svshm_string.h\"\n"
"\\&\n"
"int\n"
"main(void)\n"
"{\n"
" int semid, shmid;\n"
" char *addr;\n"
" union semun arg, dummy;\n"
" struct sembuf sop;\n"
"\\&\n"
" /* Create shared memory and semaphore set containing one\n"
" semaphore. */\n"
"\\&\n"
" shmid = shmget(IPC_PRIVATE, MEM_SIZE, IPC_CREAT | 0600);\n"
" if (shmid == -1)\n"
" errExit(\"shmget\");\n"
"\\&\n"
" semid = semget(IPC_PRIVATE, 1, IPC_CREAT | 0600);\n"
" if (semid == -1)\n"
" errExit(\"semget\");\n"
"\\&\n"
" /* Attach shared memory into our address space. */\n"
"\\&\n"
" addr = shmat(shmid, NULL, SHM_RDONLY);\n"
" if (addr == (void *) -1)\n"
" errExit(\"shmat\");\n"
"\\&\n"
" /* Initialize semaphore 0 in set with value 1. */\n"
"\\&\n"
" arg.val = 1;\n"
" if (semctl(semid, 0, SETVAL, arg) == -1)\n"
" errExit(\"semctl\");\n"
"\\&\n"
" printf(\"shmid = %d; semid = %d\\en\", shmid, semid);\n"
"\\&\n"
" /* Wait for semaphore value to become 0. */\n"
"\\&\n"
" sop.sem_num = 0;\n"
" sop.sem_op = 0;\n"
" sop.sem_flg = 0;\n"
"\\&\n"
" if (semop(semid, &sop, 1) == -1)\n"
" errExit(\"semop\");\n"
"\\&\n"
" /* Print the string from shared memory. */\n"
"\\&\n"
" printf(\"%s\\en\", addr);\n"
"\\&\n"
" /* Remove shared memory and semaphore set. */\n"
"\\&\n"
" if (shmctl(shmid, IPC_RMID, NULL) == -1)\n"
" errExit(\"shmctl\");\n"
" if (semctl(semid, 0, IPC_RMID, dummy) == -1)\n"
" errExit(\"semctl\");\n"
"\\&\n"
" exit(EXIT_SUCCESS);\n"
"}\n"
msgstr ""
"/* svshm_string_read.c\n"
"\\&\n"
" Sous licence GNU General Public v2 ou postérieure.\n"
"*/\n"
"#include Estdio.hE\n"
"#include Estdlib.hE\n"
"#include Esys/ipc.hE\n"
"#include Esys/sem.hE\n"
"#include Esys/shm.hE\n"
"\\&\n"
"#include \"svshm_string.h\"\n"
"\\&\n"
"int\n"
"main(void)\n"
"{\n"
" int semid, shmid;\n"
" char *addr;\n"
" union semun arg, dummy;\n"
" struct sembuf sop;\n"
"\\&\n"
" /* Créer la mémoire partagée et le jeu de sémaphores contenant\n"
" un sémaphore. */\n"
"\\&\n"
" shmid = shmget(IPC_PRIVATE, MEM_SIZE, IPC_CREAT | 0600);\n"
" if (shmid == -1)\n"
" errExit(\"shmget\");\n"
"\\&\n"
" semid = semget(IPC_PRIVATE, 1, IPC_CREAT | 0600);\n"
" if (semid == -1)\n"
" errExit(\"semget\");\n"
"\\&\n"
" /*Attacher la mémoire partagée à notre espace d'adressage. */\n"
"\\&\n"
" addr = shmat(shmid, NULL, SHM_RDONLY);\n"
" if (addr == (void *) -1)\n"
" errExit(\"shmat\");\n"
"\\&\n"
" /* Initialiser le sémaphore B<0> du jeu à la valeur B<1>. */\n"
"\\&\n"
" arg.val = 1;\n"
" if (semctl(semid, 0, SETVAL, arg) == -1)\n"
" errExit(\"semctl\");\n"
"\\&\n"
" printf(\"shmid = %d; semid = %d\\en\", shmid, semid);\n"
"\\&\n"
" /* Attendre que la valeur du sémaphore devienne B<0>. */\n"
"\\&\n"
" sop.sem_num = 0;\n"
" sop.sem_op = 0;\n"
" sop.sem_flg = 0;\n"
"\\&\n"
" if (semop(semid, &sop, 1) == -1)\n"
" errExit(\"semop\");\n"
"\\&\n"
" /* Afficher la chaîne à partir de la mémoire partagée. */\n"
"\\&\n"
" printf(\"%s\\en\", addr);\n"
"\\&\n"
" /* Supprimer la mémoire partagée et le jeu de sémaphores. */\n"
"\\&\n"
" if (shmctl(shmid, IPC_RMID, NULL) == -1)\n"
" errExit(\"shmctl\");\n"
" if (semctl(semid, 0, IPC_RMID, dummy) == -1)\n"
" errExit(\"semctl\");\n"
"\\&\n"
" exit(EXIT_SUCCESS);\n"
"}\n"
#. type: SS
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "Program source: svshm_string_write.c"
msgstr "Source du programme : svshm_string_write.c"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The writer program takes three command-line arguments: the IDs of the shared "
"memory segment and semaphore set that have already been created by the "
"\"reader\", and a string. It attaches the shared memory segment into its "
"address space, and then decrements the semaphore value to 0 in order to "
"inform the \"reader\" that it can now examine the contents of the shared "
"memory."
msgstr ""
"Le programme « writer » prend trois paramètres en ligne de commande : les "
"identifiants du segment de mémoire partagée et du jeu de sémaphore créés par "
"« reader » et une chaîne. Il attache le segment de mémoire partagée à son "
"espace d'adressage, puis décrémente la valeur du sémaphore à B<0> pour "
"informer « reader » qu'il peut examiner le contenu de la mémoire partagée."
#. type: Plain text
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-tumbleweed
#, no-wrap
msgid ""
"/* svshm_string_write.c\n"
"\\&\n"
" Licensed under GNU General Public License v2 or later.\n"
"*/\n"
"#include Estdio.hE\n"
"#include Estdlib.hE\n"
"#include Estring.hE\n"
"#include Esys/sem.hE\n"
"#include Esys/shm.hE\n"
"\\&\n"
"#include \"svshm_string.h\"\n"
"\\&\n"
"int\n"
"main(int argc, char *argv[])\n"
"{\n"
" int semid, shmid;\n"
" char *addr;\n"
" size_t len;\n"
" struct sembuf sop;\n"
"\\&\n"
" if (argc != 4) {\n"
" fprintf(stderr, \"Usage: %s shmid semid string\\en\", argv[0]);\n"
" exit(EXIT_FAILURE);\n"
" }\n"
"\\&\n"
" len = strlen(argv[3]) + 1; /* +1 to include trailing \\[aq]\\e0\\[aq] */\n"
" if (len E MEM_SIZE) {\n"
" fprintf(stderr, \"String is too big!\\en\");\n"
" exit(EXIT_FAILURE);\n"
" }\n"
"\\&\n"
" /* Get object IDs from command-line. */\n"
"\\&\n"
" shmid = atoi(argv[1]);\n"
" semid = atoi(argv[2]);\n"
"\\&\n"
" /* Attach shared memory into our address space and copy string\n"
" (including trailing null byte) into memory. */\n"
"\\&\n"
" addr = shmat(shmid, NULL, 0);\n"
" if (addr == (void *) -1)\n"
" errExit(\"shmat\");\n"
"\\&\n"
" memcpy(addr, argv[3], len);\n"
"\\&\n"
" /* Decrement semaphore to 0. */\n"
"\\&\n"
" sop.sem_num = 0;\n"
" sop.sem_op = -1;\n"
" sop.sem_flg = 0;\n"
"\\&\n"
" if (semop(semid, &sop, 1) == -1)\n"
" errExit(\"semop\");\n"
"\\&\n"
" exit(EXIT_SUCCESS);\n"
"}\n"
msgstr ""
"/* svshm_string_write.c\n"
"\\&\n"
" Sous licence GNU General Public v2 ou postérieure.\n"
"*/\n"
"#include Estdio.hE\n"
"#include Estdlib.hE\n"
"#include Estring.hE\n"
"#include Esys/sem.hE\n"
"#include Esys/shm.hE\n"
"\\&\n"
"#include \"svshm_string.h\"\n"
"\\&\n"
"int\n"
"main(int argc, char *argv[])\n"
"{\n"
" int semid, shmid;\n"
" char *addr;\n"
" size_t len;\n"
" struct sembuf sop;\n"
"\\&\n"
" if (argc != 4) {\n"
" fprintf(stderr, \"Utilisation : %s shmid semid string\\en\", argv[0]);\n"
" exit(EXIT_FAILURE);\n"
" }\n"
"\\&\n"
" len = strlen(argv[3]) + 1; /* +1 pour inclure le \\[aq]\\e0\\[aq] final */\n"
" if (len E MEM_SIZE) {\n"
" fprintf(stderr, \"La chaîne est trop longue\\ !\\en\");\n"
" exit(EXIT_FAILURE);\n"
" }\n"
"\\&\n"
" /* Obtenir les identifiants de l'objet depuis la ligne de commande. */\n"
"\\&\n"
" shmid = atoi(argv[1]);\n"
" semid = atoi(argv[2]);\n"
"\\&\n"
" /* Attacher la mémoire partagée dans notre espace d'adressage et copier\n"
" la chaîne (et notamment l'octet NULL final) dans la mémoire. */\n"
"\\&\n"
" addr = shmat(shmid, NULL, 0);\n"
" if (addr == (void *) -1)\n"
" errExit(\"shmat\");\n"
"\\&\n"
" memcpy(addr, argv[3], len);\n"
"\\&\n"
" /* Décrémenter le sémaphore à B<0> */\n"
"\\&\n"
" sop.sem_num = 0;\n"
" sop.sem_op = -1;\n"
" sop.sem_flg = 0;\n"
"\\&\n"
" if (semop(semid, &sop, 1) == -1)\n"
" errExit(\"semop\");\n"
"\\&\n"
" exit(EXIT_SUCCESS);\n"
"}\n"
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "SEE ALSO"
msgstr "VOIR AUSSI"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"B(2), B(2), B(2), B(2), B(7), "
"B(7), B(7)"
msgstr ""
"B(2), B(2), B(2), B(2), B(7), "
"B(7), B(7)"
#. type: TH
#: debian-bookworm
#, no-wrap
msgid "2023-02-05"
msgstr "5 février 2023"
#. type: TH
#: debian-bookworm
#, no-wrap
msgid "Linux man-pages 6.03"
msgstr "Pages du manuel de Linux 6.03"
#. SVr4 documents an additional error condition EMFILE.
#. type: Plain text
#: debian-bookworm
msgid "POSIX.1-2001, POSIX.1-2008, SVr4."
msgstr "POSIX.1-2001, POSIX.1-2008, SVr4."
#. type: Plain text
#: debian-bookworm opensuse-leap-15-6
#, no-wrap
msgid "/* svshm_string.h\n"
msgstr "/* svshm_string.h\n"
#. type: Plain text
#: debian-bookworm opensuse-leap-15-6
#, no-wrap
msgid ""
" Licensed under GNU General Public License v2 or later.\n"
"*/\n"
"#include Esys/types.hE\n"
"#include Esys/ipc.hE\n"
"#include Esys/shm.hE\n"
"#include Esys/sem.hE\n"
"#include Estdio.hE\n"
"#include Estdlib.hE\n"
"#include Estring.hE