# 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, 2013-2014. # Denis Barbier , 2006, 2010. # David Prévot , 2010-2014. # Jean-Philippe MENGUAL , 2021-2024. msgid "" msgstr "" "Project-Id-Version: manpages-l10n 4.22.0\n" "POT-Creation-Date: 2024-06-01 06:13+0200\n" "PO-Revision-Date: 2024-05-28 12:12+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 "ptrace" msgstr "ptrace" #. 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 "ptrace - process trace" msgstr "ptrace - Suivre un processus" #. 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/ptrace.hE>\n" msgstr "B<#include Esys/ptrace.hE>\n" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "" "BIB<, pid_t >IB<,>\n" "B< void *>IB<, void *>IB<);>\n" msgstr "" "BIB<, pid_t >IB<,>\n" "B< void *>IB<, void *>IB<);>\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: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() system call provides a means by which one process (the " "\"tracer\") may observe and control the execution of another process (the " "\"tracee\"), and examine and change the tracee's memory and registers. It " "is primarily used to implement breakpoint debugging and system call tracing." msgstr "" "L'appel système B() fournit à un processus (l'« observateur ») un " "moyen d'observer et de contrôler l'exécution d'un autre processus " "(l'« observé »), et d'examiner et éditer la mémoire et les registres de " "l'observé. L'utilisation principale de cette fonction est l'implémentation " "de points d'arrêt pour le débogage, et pour suivre les appels système." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A tracee first needs to be attached to the tracer. Attachment and " "subsequent commands are per thread: in a multithreaded process, every thread " "can be individually attached to a (potentially different) tracer, or left " "not attached and thus not debugged. Therefore, \"tracee\" always means " "\"(one) thread\", never \"a (possibly multithreaded) process\". Ptrace " "commands are always sent to a specific tracee using a call of the form" msgstr "" "Un observé doit d'abord être attaché à l'observateur. L'attachement et les " "commandes suivantes sont par thread : dans un processus multithreadé, chaque " "thread peut être attaché individuellement à un observateur (éventuellement " "différent), ou être laissé détaché et donc non débogué. Par conséquent, " "l'« observé » signifie toujours « (un) thread », jamais « un processus " "(éventuellement multithreadé) ». Les commandes ptrace sont toujours envoyées " "à un observé spécifique en utilisant un appel de la forme" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ptrace(PTRACE_foo, pid, ...)\n" msgstr "ptrace(PTRACE_truc, pid, ...)\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "where I is the thread ID of the corresponding Linux thread." msgstr "où I est l'identifiant de thread du thread Linux correspondant." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "(Note that in this page, a \"multithreaded process\" means a thread group " "consisting of threads created using the B(2) B flag.)" msgstr "" "(Remarquez que dans cette page, un « processus multithreadé » signifie un " "groupe de threads constitué de threads créés en utilisant l'attribut " "B de B(2).)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A process can initiate a trace by calling B(2) and having the " "resulting child do a B, followed (typically) by an " "B(2). Alternatively, one process may commence tracing another " "process using B or B." msgstr "" "Un processus peut démarrer un suivi en appelant B(2) et faire en sorte " "que l'enfant créé fasse un B, suivi (en général) par un " "B(2). Autrement, un processus peut commencer à suivre un autre " "processus en utilisant B ou B." #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "While being traced, the tracee will stop each time a signal is delivered, " "even if the signal is being ignored. (An exception is B, which has " "its usual effect.) The tracer will be notified at its next call to " "B(2) (or one of the related \"wait\" system calls); that call will " "return a I value containing information that indicates the cause of " "the stop in the tracee. While the tracee is stopped, the tracer can use " "various ptrace operations to inspect and modify the tracee. The tracer then " "causes the tracee to continue, optionally ignoring the delivered signal (or " "even delivering a different signal instead)." msgstr "" "L'observé s'arrêtera à chaque fois qu'un signal lui sera distribué, même si " "le signal est ignoré (à l'exception de B qui a les effets " "habituels). L'observateur sera prévenu à son prochain appel de B(2) " "(ou un des appels système liés à « wait ») ; cet appel renverra une valeur " "I contenant les renseignements indiquant la raison de l'arrêt de " "l'observé. Lorsque l'observé est arrêté, l'observateur peut utiliser " "plusieurs opérations ptrace pour inspecter et modifier l'observé. " "L'observateur peut également laisser continuer l'exécution de l'observé, en " "ignorant éventuellement le signal ayant déclenché l'arrêt, ou même en " "envoyant un autre signal." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the B option is not in effect, all successful calls " "to B(2) by the traced process will cause it to be sent a B " "signal, giving the parent a chance to gain control before the new program " "begins execution." msgstr "" "Si l'option B n'est pas effective, tous les appels " "réussis d'B(2) par le processus suivi déclencheront l'envoi d'un " "signal B, ce qui permet au parent de reprendre le contrôle avant " "que le nouveau programme commence son exécution." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When the tracer is finished tracing, it can cause the tracee to continue " "executing in a normal, untraced mode via B." msgstr "" "Quand l'observateur a fini le suivi, il peut forcer l'observé à continuer " "normalement, en mode non suivi, avec B." #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "The value of I determines the operation to be performed:" msgstr "" "La valeur de l'argument I indique précisément l'opération à entreprendre." #. 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-unstable fedora-rawhide opensuse-tumbleweed msgid "" "Indicate that this process is to be traced by its parent. A process " "probably shouldn't make this operation if its parent isn't expecting to " "trace it. (I, I, and I are ignored.)" msgstr "" "Le processus en cours va être suivi par son parent. Un processus ne devrait " "sans doute pas envoyer cette opération si son parent n'est pas prêt à le " "suivre. Dans cette requête I, I, et I sont ignorés." #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "The B operation is used only by the tracee; the remaining " "operations are used only by the tracer. In the following operations, I " "specifies the thread ID of the tracee to be acted on. For operations other " "than B, B, B, and " "B, the tracee must be stopped." msgstr "" "L'opération B ne sert qu'à l'observé. Les opérations " "restantes ne servent qu'à l'observateur. Dans les observations suivantes, " "I précise l'identifiant de thread de l'observé sur lequel agir. Pour " "d'autres opérations que B, B, " "B et B, l'observé doit être arrêté." #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: TQ #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "Read a word at the address I in the tracee's memory, returning the " "word as the result of the B() call. Linux does not have separate " "text and data address spaces, so these two operations are currently " "equivalent. (I is ignored; but see NOTES.)" msgstr "" "Lire un mot à l'adresse I dans l'espace mémoire de l'observé et le " "renvoyer en résultat de l'appel B(). Linux ne sépare pas les espaces " "d'adressage de code et de données, donc ces deux opérations sont " "équivalentes (I est ignoré, consultez la section NOTES)." #. 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" #. PTRACE_PEEKUSR in kernel source, but glibc uses PTRACE_PEEKUSER, #. and that is the name that seems common on other systems. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Read a word at offset I in the tracee's USER area, which holds the " "registers and other information about the process (see Isys/user." "hE>). The word is returned as the result of the B() call. " "Typically, the offset must be word-aligned, though this might vary by " "architecture. See NOTES. (I is ignored; but see NOTES.)" msgstr "" "Lire un mot à la position I dans l'espace USER de l'observé, qui " "contient les registres et divers renseignements sur le processus (voir " "Isys/user.hE>). Le mot est renvoyée en résultat de B(). En " "principe, l'adresse doit être alignée sur une frontière de mots, bien que " "cela varie selon les architectures. Consultez la section B. (I " "est ignoré, consultez la section B)." #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: TQ #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "Copy the word I to the address I in the tracee's memory. As for " "B and B, these two operations are " "currently equivalent." msgstr "" "Copier le mot I vers l'adresse I de la mémoire de l'observé. " "Comme pour B et B, ces deux opérations " "sont équivalentes." #. 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" #. PTRACE_POKEUSR in kernel source, but glibc uses PTRACE_POKEUSER, #. and that is the name that seems common on other systems. #. FIXME In the preceding sentence, which modifications are disallowed, #. and when they are disallowed, how does user space discover that fact? #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Copy the word I to offset I in the tracee's USER area. As for " "B, the offset must typically be word-aligned. In order to " "maintain the integrity of the kernel, some modifications to the USER area " "are disallowed." msgstr "" "Copier le mot I vers l'adresse I dans l'espace USER de " "l'observé. Comme pour B, les emplacements doivent être " "alignés sur une frontière de mot. Pour maintenir l'intégrité du noyau, " "certaines modifications de la zone USER sont interdites." #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: TQ #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: 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 "" "Copy the tracee's general-purpose or floating-point registers, respectively, " "to the address I in the tracer. See Isys/user.hE> for " "information on the format of this data. (I is ignored.) Note that " "SPARC systems have the meaning of I and I reversed; that is, " "I is ignored and the registers are copied to the address I. " "B and B are not present on all " "architectures." msgstr "" "Copier les registres généraux ou du processeur en virgule flottante de " "l'observé, vers l'adresse I de l'observateur. Consultez Isys/" "user.hE> pour les détails sur le format de ces données (I est " "ignoré). Remarquez que les systèmes SPARC ont la signification de I et " "I inversée, c'est-à-dire que I est ignoré et les registres sont " "copiés vers l'adresse I. B et B ne " "sont pas présents sur toutes les architectures." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.34)" msgstr "B (depuis Linux 2.6.34)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Read the tracee's registers. I specifies, in an architecture-" "dependent way, the type of registers to be read. B (with " "numerical value 1) usually results in reading of general-purpose " "registers. If the CPU has, for example, floating-point and/or vector " "registers, they can be retrieved by setting I to the corresponding " "B constant. I points to a B, which describes " "the destination buffer's location and length. On return, the kernel " "modifies B to indicate the actual number of bytes returned." msgstr "" "Lire les registres de l'observé. I indique, de manière dépendante de " "l'architecture, le type de registres à lire. B (avec une valeur " "numérique de 1) a pour conséquence habituelle la lecture de registres " "généraux. Si le processeur a, par exemple, des registres en virgule " "flottante ou en vecteur, ils peuvent être récupéré en configurant I à " "la constante B correspondante. I pointe vers une B, qui décrit l'emplacement et la taille du tampon de destination. Le " "noyau modifie B au retour pour indiquer le véritable nombre " "d'octets renvoyés." #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: TQ #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. FIXME . In the preceding sentence, which modifications are disallowed, #. and when they are disallowed, how does user space discover that fact? #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Modify the tracee's general-purpose or floating-point registers, " "respectively, from the address I in the tracer. As for " "B, some general-purpose register modifications may be " "disallowed. (I is ignored.) Note that SPARC systems have the meaning " "of I and I reversed; that is, I is ignored and the " "registers are copied from the address I. B and " "B are not present on all architectures." msgstr "" "Modifier les registres généraux ou du processeur en virgule flottante de " "l'observé, depuis l'adresse I de l'observateur. Comme pour " "B, certaines modifications de registres généraux pourraient " "être interdites (I est ignoré). Remarquez que les systèmes SPARC ont " "la signification de I et I inversée, c'est-à-dire que I " "est ignoré et les registres sont copiés depuis l'adresse I. " "B et B ne sont pas présents sur toutes les " "architectures." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.34)" msgstr "B (depuis Linux 2.6.34)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Modify the tracee's registers. The meaning of I and I is " "analogous to B." msgstr "" "Modifier les registres de l'observé. La signification de I et I " "est analogue à B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.3.99-pre6)" msgstr "B (depuis Linux 2.3.99-pre6)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Retrieve information about the signal that caused the stop. Copy a " "I structure (see B(2)) from the tracee to the address " "I in the tracer. (I is ignored.)" msgstr "" "Récupérer des renseignements sur le signal qui a provoqué l'arrêt. Pour ce " "faire, copier une structure I (consultez B(2)) de " "l'observé à l'adresse I de l'observateur (I est ignoré)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.3.99-pre6)" msgstr "B (depuis Linux 2.3.99-pre6)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Set signal information: copy a I structure from the address " "I in the tracer to the tracee. This will affect only signals that " "would normally be delivered to the tracee and were caught by the tracer. It " "may be difficult to tell these normal signals from synthetic signals " "generated by B() itself. (I is ignored.)" msgstr "" "Définir les renseignements de signaux : copier une structure I de " "l'adresse I de l'observateur vers l'observé. Cela n'affecte que les " "signaux qui auraient dû être distribués à l'observé et ont été interceptés à " "cause de B(). Différencier ces signaux normaux des signaux créés par " "B() lui-même peut être délicat (I est ignoré)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 3.10)" msgstr "B (depuis Linux 3.10)" #. commit 84c751bd4aebbaae995fe32279d3dba48327bad4 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Retrieve I structures without removing signals from a queue. " "I points to a I structure that specifies the " "ordinal position from which copying of signals should start, and the number " "of signals to copy. I structures are copied into the buffer " "pointed to by I. The return value contains the number of copied " "signals (zero indicates that there is no signal corresponding to the " "specified ordinal position). Within the returned I structures, the " "I field includes information (B<__SI_CHLD>, B<__SI_FAULT>, etc.) " "that are not otherwise exposed to user space." msgstr "" "Récupérer les structures I sans supprimer les signaux d’une file " "d’attente. I pointe vers une structure I qui " "indique la position ordinale à partir de laquelle la copie des signaux " "devrait commencer et le nombre de signaux à copier. Les structures " "I sont copiées dans le tampon pointé par I. La valeur de " "retour contient le nombre de signaux copiés (zéro indique qu’il n’y a pas de " "signal correspondant à la position ordinale indiquée). Dans les structures " "I renvoyées, le champ I contient des renseignements " "(B<__SI_CHLD>, B<__SI_FAULT>, etc.) qui sinon ne sont pas exposés à l’espace " "utilisateur." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "struct ptrace_peeksiginfo_args {\n" " u64 off; /* Ordinal position in queue at which\n" " to start copying signals */\n" " u32 flags; /* PTRACE_PEEKSIGINFO_SHARED or 0 */\n" " s32 nr; /* Number of signals to copy */\n" "};\n" msgstr "" "struct ptrace_peeksiginfo_args {\n" " u64 off; /* Position ordinale dans la file d’attente\n" " où commencer la copie de signaux */\n" " u32 flags; /* PTRACE_PEEKSIGINFO_SHARED ou 0 */\n" " s32 nr; /* Nombre de signaux à copier */\n" "};\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Currently, there is only one flag, B, for dumping " "signals from the process-wide signal queue. If this flag is not set, " "signals are read from the per-thread queue of the specified thread." msgstr "" "Actuellement, seul l’attribut B permet de vider " "les signaux de la file de signaux par processus. Si cet attribut n’est pas " "défini, les signaux sont lus depuis la file par thread du thread indiqué." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 3.11)" msgstr "B (depuis Linux 3.11)" #. commit 29000caecbe87b6b66f144f72111f0d02fbbf0c1 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Place a copy of the mask of blocked signals (see B(2)) in the " "buffer pointed to by I, which should be a pointer to a buffer of type " "I. The I argument contains the size of the buffer pointed " "to by I (i.e., I)." msgstr "" "Placer une copie du masque des signaux bloqués (consultez B(2)) " "dans le tampon pointé par I qui devrait être un pointeur vers un " "tampon de type I. L’argument I contient la taille du tampon " "pointé par I (c’est-à-dire I)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 3.11)" msgstr "B (depuis Linux 3.11)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Change the mask of blocked signals (see B(2)) to the value " "specified in the buffer pointed to by I, which should be a pointer to " "a buffer of type I. The I argument contains the size of the " "buffer pointed to by I (i.e., I)." msgstr "" "Modifier le masque des signaux bloqués (consultez B(2)) à la " "valeur indiquée dans le tampon pointé par I qui devrait être un " "pointeur vers un tampon de type I. L’argument I contient la " "taille du tampon pointé par I (c’est-à-dire I)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.4.6; see BUGS for caveats)" msgstr "B (depuis Linux 2.4.6, consultez les remarques de B)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Set ptrace options from I. (I is ignored.) I is " "interpreted as a bit mask of options, which are specified by the following " "flags:" msgstr "" "Définir les options de ptrace à partir de l'adresse I (I est " "ignoré). I est interprété comme un masque d'options, qui est construit " "à partir des attributs suivants." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 3.8)" msgstr "B (depuis Linux 3.8)" #. commit 992fb6e170639b0849bace8e49bf31bd37c4123 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Send a B signal to the tracee if the tracer exits. This option is " "useful for ptrace jailers that want to ensure that tracees can never escape " "the tracer's control." msgstr "" "Envoyer un signal B à l'observé si l'observateur existe. Cet option " "est utile pour les gardiens ptrace qui veulent s'assurer que les observés ne " "peuvent jamais échapper au contrôle de l'observateur." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.5.46)" msgstr "B (depuis Linux 2.5.46)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Stop the tracee at the next B(2) and automatically start tracing the " "newly cloned process, which will start with a B, or " "B if B was used. A B(2) by the " "tracer will return a I value such that" msgstr "" "Arrêter l'observé au prochain B(2) et commencer automatiquement à " "suivre le nouveau processus cloné, qui démarrera avec un signal B, " "ou B si B est utilisé. Un B(2) par " "l'observateur renverra une valeur I comme" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid " statusEE8 == (SIGTRAP | (PTRACE_EVENT_CLONEEE8))\n" msgstr " statusEE8 == (SIGTRAP | (PTRACE_EVENT_CLONEEE8))\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The PID of the new process can be retrieved with B." msgstr "" "Le PID du nouveau processus peut être récupéré avec B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This option may not catch B(2) calls in all cases. If the tracee " "calls B(2) with the B flag, B will " "be delivered instead if B is set; otherwise if the " "tracee calls B(2) with the exit signal set to B, " "B will be delivered if B is set." msgstr "" "Cette option peut ne pas intercepter tous les appels B(2). Si " "l'observé appelle B(2) avec l'attribut B, " "B sera envoyé si B est utilisé. " "Sinon, si l'observé appelle B(2) avec B comme signal de " "terminaison, B sera envoyé si B est " "utilisé." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.5.46)" msgstr "B (depuis Linux 2.5.46)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Stop the tracee at the next B(2). A B(2) by the tracer " "will return a I value such that" msgstr "" "Arrêter l'observé au prochain B(2). Un B(2) par " "l'observateur renverra une valeur I comme" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid " statusEE8 == (SIGTRAP | (PTRACE_EVENT_EXECEE8))\n" msgstr " statusEE8 == (SIGTRAP | (PTRACE_EVENT_EXECEE8))\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the execing thread is not a thread group leader, the thread ID is reset " "to thread group leader's ID before this stop. Since Linux 3.0, the former " "thread ID can be retrieved with B." msgstr "" "Si le thread en cours d'exécution n'est pas un leader de groupe de threads, " "l'identifiant de thread est réinitialisé à l'identifiant du leader de groupe " "de threads avant cet arrêt. Depuis Linux 3.0, le premier identifiant de " "thread peut être récupéré avec B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.5.60)" msgstr "B (depuis Linux 2.5.60)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Stop the tracee at exit. A B(2) by the tracer will return a " "I value such that" msgstr "" "Arrêter l'observé à la terminaison. Un B(2) par l'observateur " "renverra une valeur I comme" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid " statusEE8 == (SIGTRAP | (PTRACE_EVENT_EXITEE8))\n" msgstr " statusEE8 == (SIGTRAP | (PTRACE_EVENT_EXITEE8))\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The tracee's exit status can be retrieved with B." msgstr "" "L'état de fin de l'observé peut être récupéré avec B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The tracee is stopped early during process exit, when registers are still " "available, allowing the tracer to see where the exit occurred, whereas the " "normal exit notification is done after the process is finished exiting. " "Even though context is available, the tracer cannot prevent the exit from " "happening at this point." msgstr "" "L'observé est arrêté tôt dans la terminaison du processus, alors que les " "registres sont toujours disponibles, ce qui permet au processus utilisant " "B() de voir où la terminaison s'est produite, alors que la " "notification de terminaison normale a lieu à la fin de cette terminaison. " "Même si le contexte est disponible, l'observateur ne peut pas empêcher la " "terminaison à ce moment là." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.5.46)" msgstr "B (depuis Linux 2.5.46)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Stop the tracee at the next B(2) and automatically start tracing the " "newly forked process, which will start with a B, or " "B if B was used. A B(2) by the " "tracer will return a I value such that" msgstr "" "Arrêter l'observé au prochain B(2) et commencer automatiquement à " "suivre le nouveau processus créé, qui démarrera avec un signal B, " "ou B si B est utilisé. Un B(2) par " "l'observateur renverra une valeur I comme" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid " statusEE8 == (SIGTRAP | (PTRACE_EVENT_FORKEE8))\n" msgstr " statusEE8 == (SIGTRAP | (PTRACE_EVENT_FORKEE8))\n" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.4.6)" msgstr "B (depuis Linux 2.4.6)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When delivering system call traps, set bit 7 in the signal number (i.e., " "deliver I). This makes it easy for the tracer to distinguish " "normal traps from those caused by a system call." msgstr "" "Lors des interceptions d'appel système, positionner le bit 7 sur le numéro " "de signal (envoyer I). Cela facilite pour l'observateur la " "distinction entre les interceptions normales et celles provoquées par un " "appel système." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.5.46)" msgstr "B (depuis Linux 2.5.46)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Stop the tracee at the next B(2) and automatically start tracing the " "newly vforked process, which will start with a B, or " "B if B was used. A B(2) by the " "tracer will return a I value such that" msgstr "" "Arrêter l'observé au prochain B(2) et commencer automatiquement à " "suivre le nouveau processus créé, qui démarrera avec un signal B, " "ou B si B est utilisé. Un B(2) par " "l'observateur renverra une valeur I comme" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid " statusEE8 == (SIGTRAP | (PTRACE_EVENT_VFORKEE8))\n" msgstr " statusEE8 == (SIGTRAP | (PTRACE_EVENT_VFORKEE8))\n" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.5.60)" msgstr "B (depuis Linux 2.5.60)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Stop the tracee at the completion of the next B(2). A B(2) " "by the tracer will return a I value such that" msgstr "" "Arrêter l'observé à la fin du prochain B(2). Un B(2) par " "l'observateur renverra une valeur I comme" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid " statusEE8 == (SIGTRAP | (PTRACE_EVENT_VFORK_DONEEE8))\n" msgstr " statusEE8 == (SIGTRAP | (PTRACE_EVENT_VFORK_DONEEE8))\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The PID of the new process can (since Linux 2.6.18) be retrieved with " "B." msgstr "" "Le PID du nouveau processus peut (depuis Linux 2.6.18) être récupéré avec " "B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 3.5)" msgstr "B (depuis Linux 3.5)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Stop the tracee when a B(2) B rule is " "triggered. A B(2) by the tracer will return a I value " "such that" msgstr "" "Arrêter l'observé quand une règle B de B(2) est " "déclenchée. Un B(2) par l'observateur renverra une valeur I " "comme" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid " statusEE8 == (SIGTRAP | (PTRACE_EVENT_SECCOMPEE8))\n" msgstr " statusEE8 == (SIGTRAP | (PTRACE_EVENT_SECCOMPEE8))\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "While this triggers a B stop, it is similar to a syscall-enter-" "stop. For details, see the note on B below. The " "seccomp event message data (from the B portion of the " "seccomp filter rule) can be retrieved with B." msgstr "" "Si cela entraîne un arrêt B, c'est équivalent à un arrêt-" "entrée-appel-système. Pour des détails, voir la remarque sur " "B ci-dessous. Les données du message de l'événement " "seccomp (issues de la partie B de la règle du filtre " "seccomp) peuvent être récupérées avec B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.3)" msgstr "B (depuis Linux 4.3)" #. commit 13c4a90119d28cfcb6b5bdd820c233b86c2b0237 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Suspend the tracee's seccomp protections. This applies regardless of mode, " "and can be used when the tracee has not yet installed seccomp filters. That " "is, a valid use case is to suspend a tracee's seccomp protections before " "they are installed by the tracee, let the tracee install the filters, and " "then clear this flag when the filters should be resumed. Setting this " "option requires that the tracer have the B capability, not " "have any seccomp protections installed, and not have " "B set on itself." msgstr "" "Suspendre les protections seccomp de l'observé. Cela s'applique quel que " "soit le mode et peut être utilisé lorsque l'observé n'a pas encore installé " "de filtres seccomp. Cela veut dire qu'un cas d'utilisation valable consiste " "à suspendre les protections seccomp d'un observé avant qu'elles ne soient " "installées par l'observé, laisser l'observé installer les filtres et vider " "cet attribut quand les filtres doivent être réactivés. La définition de " "cette option implique que l'observateur ait la capacité B, " "n'ait pas de protection seccomp installée et n'ait pas de " "B positionné sur lui-même." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.5.46)" msgstr "B (depuis Linux 2.5.46)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Retrieve a message (as an I) about the ptrace event that " "just happened, placing it at the address I in the tracer. For " "B, this is the tracee's exit status. For " "B, B, B, and " "B, this is the PID of the new process. For " "B, this is the B(2) filter's " "B associated with the triggered rule. (I is " "ignored.)" msgstr "" "Récupérer un message (dans un I) concernant l'événement " "ptrace qui vient d'arriver, en le plaçant à l'adresse I de " "l'observateur. Pour B, il s'agit du code de retour de " "l'observé. Pour B, B, " "B et B, il s'agit du PID du " "nouveau processus. Pour B, il s'agit des " "B du filtre B(2) associées à la règle déclenchée " "(I est ignorée)." #. 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 "" "Restart the stopped tracee process. If I is nonzero, it is " "interpreted as the number of a signal to be delivered to the tracee; " "otherwise, no signal is delivered. Thus, for example, the tracer can " "control whether a signal sent to the tracee is delivered or not. (I " "is ignored.)" msgstr "" "Redémarrer l'observé arrêté. Si I est non nul, il est interprété comme " "un numéro de signal à distribuer à l'observé ; sinon aucun signal n'est " "distribué. L'observateur peut ainsi contrôler si un signal envoyé à " "l'observé doit lui être distribué ou non (I est ignoré)." #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: TQ #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: 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 "" "Restart the stopped tracee as for B, but arrange for the tracee " "to be stopped at the next entry to or exit from a system call, or after " "execution of a single instruction, respectively. (The tracee will also, as " "usual, be stopped upon receipt of a signal.) From the tracer's perspective, " "the tracee will appear to have been stopped by receipt of a B. So, " "for B, for example, the idea is to inspect the arguments to " "the system call at the first stop, then do another B and " "inspect the return value of the system call at the second stop. The I " "argument is treated as for B. (I is ignored.)" msgstr "" "Redémarrer l'observé arrêté comme pour B, mais en s'arrangeant " "pour qu'il soit arrêté à la prochaine entrée ou sortie d'un appel système, " "ou après la prochaine instruction, respectivement (l'observé sera aussi " "arrêté par l'arrivée d'un signal). Du point de vue de l'observateur, " "l'observé semblera être arrêté par B. Ainsi, pour B " "l'idée est d'inspecter les arguments de l'appel système au premier arrêt " "puis de faire un autre B et d'inspecter la valeur de retour " "au second arrêt. Le paramètre I est interprété comme pour " "B (I est ignoré)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.16)" msgstr "B (depuis Linux 2.6.16)" #. commit 3f471126ee53feb5e9b210ea2f525ed3bb9b7a7f #. As of 4.19-rc2 #. commit 27aa55c5e5123fa8b8ad0156559d34d7edff58ca #. see change_syscall in tools/testing/selftests/seccomp/seccomp_bpf.c #. and also strace's linux/*/set_scno.c files. #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "When in syscall-enter-stop, change the number of the system call that is " "about to be executed to the number specified in the I argument. The " "I argument is ignored. This operation is currently supported only on " "arm (and arm64, though only for backwards compatibility), but most other " "architectures have other means of accomplishing this (usually by changing " "the register that the userland code passed the system call number in)." msgstr "" "Lorsqu'il est en arrêt-entrée-appel-système, passer le numéro de l'appel " "système qui va être exécuté à celui indiqué dans le paramètre I. Le " "paramètre I est ignoré. Cette opération n'est actuellement prise en " "charge que sur arm (et arm64, quoique uniquement à des fins de " "rétrocompatibilité), mais la plupart des autres architectures ont d'autres " "moyens de faire cela (en général en modifiant le registre qui a passé " "l'appel système au code au niveau de l'utilisateur)." #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: TQ #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.14)" msgstr "B (depuis Linux 2.6.14)" #. As at 3.7 #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "For B, continue and stop on entry to the next system call, " "which will not be executed. See the documentation on syscall-stops below. " "For B, do the same but also singlestep if not a " "system call. This call is used by programs like User Mode Linux that want " "to emulate all the tracee's system calls. The I argument is treated " "as for B. The I argument is ignored. These operations " "are currently supported only on x86." msgstr "" "Pour B, continuer puis s'arrêter lors du prochain appel " "système, qui ne sera pas exécuté. Voir la documentation des syscall-stops ci-" "dessous. Pour B, faire la même chose, mais " "exécuter pas à pas s'il ne s'agit pas d'un appel système. Cette fonction est " "utilisée par des programmes comme User Mode Linux, qui veulent émuler tous " "les appels système de l'observé. Le paramètre I est interprété comme " "pour B. L'argument I est ignoré. Ces opérations ne sont " "pour l'instant disponibles que sur x86." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 3.4)" msgstr "B (depuis Linux 3.4)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Restart the stopped tracee, but prevent it from executing. The resulting " "state of the tracee is similar to a process which has been stopped by a " "B (or other stopping signal). See the \"group-stop\" subsection " "for additional information. B works only on tracees attached " "by B." msgstr "" "Redémarrer l'observé arrêté, mais en l'empêchant de s'exécuter. L'état " "résultant de l'observé est similaire a celui d'un processus qui a été arrêté " "par un B (ou autre signal d'arrêt). Consultez la sous-section " "B pour des renseignements supplémentaires. B ne " "fonctionne que sur les observés attachés par 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 "" "Send the tracee a B to terminate it. (I and I are " "ignored.)" msgstr "" "Envoyer à l'observé un signal B pour le terminer (I et " "I sont ignorés)." #. [Note from Denys Vlasenko: #. deprecation suggested by Oleg Nesterov. He prefers to deprecate it #. instead of describing (and needing to support) PTRACE_KILL's quirks.] #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I Instead, send a B " "directly using B(2) or B(2). The problem with B " "is that it requires the tracee to be in signal-delivery-stop, otherwise it " "may not work (i.e., may complete successfully but won't kill the tracee). " "By contrast, sending a B directly has no such limitation." msgstr "" "I À la place, envoyez un " "B directement en utilisant B(2) ou B(2). Le problème " "avec B est qu'il nécessite que l'observé soit en arrêt-" "distribution-signal, sinon cela risque de ne pas fonctionner (c'est-à-dire " "risque de se terminer avec succès sans tuer l'observé). En revanche, envoyer " "B directement n'est pas concerné par cette limite." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 3.4)" msgstr "B (depuis Linux 3.4)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Stop a tracee. If the tracee is running or sleeping in kernel space and " "B is in effect, the system call is interrupted and syscall-" "exit-stop is reported. (The interrupted system call is restarted when the " "tracee is restarted.) If the tracee was already stopped by a signal and " "B was sent to it, the tracee stops with B " "and I returns the stop signal. If any other ptrace-stop " "is generated at the same time (for example, if a signal is sent to the " "tracee), this ptrace-stop happens. If none of the above applies (for " "example, if the tracee is running in user space), it stops with " "B with I == B. " "B only works on tracees attached by B." msgstr "" "Arrêter un observé. Si l’observé est en cours d’exécution ou en sommeil dans " "l’espace utilisateur et que B est effectif, l’appel système " "est interrompu et l'arrêt-sortie-appel-système est signalé (l’appel système " "interrompu est redémarré quand l’observé est redémarré). Si l’observé avait " "déjà été arrêté par un signal et que B lui avait été envoyé, " "l’observé s’arrête avec B et B renvoie " "le signal d’arrêt. Si n’importe quel autre arrêt-ptrace est créé en même " "temps (par exemple, si un signal est envoyé à l’observé), cet arrêt-ptrace " "arrive. Si rien de ce qui précède ne s’applique (par exemple si l’observé " "est en cours d’exécution en espace utilisateur), il s’arrête avec " "B avec I == B. " "B ne fonctionne que sur les observés attachés par " "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" #. No longer true (removed by Denys Vlasenko, 2011, who remarks: #. "I think it isn't true in non-ancient 2.4 and in Linux 2.6/3.x. #. Basically, it's not true for any Linux in practical use. #. ; the behavior of the tracee is as if it had done a #. .BR PTRACE_TRACEME . #. The calling process actually becomes the parent of the tracee #. process for most purposes (e.g., it will receive #. notification of tracee events and appears in #. .BR ps (1) #. output as the tracee's parent), but a #. .BR getppid (2) #. by the tracee will still return the PID of the original parent. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Attach to the process specified in I, making it a tracee of the calling " "process. The tracee is sent a B, but will not necessarily have " "stopped by the completion of this call; use B(2) to wait for the " "tracee to stop. See the \"Attaching and detaching\" subsection for " "additional information. (I and I are ignored.)" msgstr "" "Attacher le processus numéro I, pour le suivre. L'observé va recevoir " "un B, mais il ne sera peut-être pas arrêté tout de suite, utilisez " "B(2) pour attendre son arrêt. Consultez la sous-section " "B pour obtenir de plus amples renseignements " "(I et I sont ignorés)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Permission to perform a B is governed by a ptrace access mode " "B check; see below." msgstr "" "Le droit d'effectuer un B est géré par la vérification " "B du mode d'accès de ptrace ; voir ci-dessous." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 3.4)" msgstr "B (depuis Linux 3.4)" # # # #. Noted by Dmitry Levin: #. PTRACE_SEIZE was introduced by commit v3.1-rc1~308^2~28, but #. it had to be used along with a temporary flag PTRACE_SEIZE_DEVEL, #. which was removed later by commit v3.4-rc1~109^2~20. #. That is, [before] v3.4 we had a test mode of PTRACE_SEIZE API, #. which was not compatible with the current PTRACE_SEIZE API introduced #. in Linux 3.4. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Attach to the process specified in I, making it a tracee of the calling " "process. Unlike B, B does not stop the " "process. Group-stops are reported as B and " "I returns the stop signal. Automatically attached " "children stop with B and I returns " "B instead of having B signal delivered to them. " "B(2) does not deliver an extra B. Only a Bd " "process can accept B and B commands. The " "\"seized\" behavior just described is inherited by children that are " "automatically attached using B, B, " "and B. I must be zero. I contains a bit " "mask of ptrace options to activate immediately." msgstr "" "Attacher au processus indiqué dans I, en faire un observé du processus " "appelant. Contrairement à B, B n'arrête pas le " "processus. Les arrêts-groupe sont signalés en tant que B " "et I renvoie le signal d'arrêt. Les enfants " "automatiquement attachés avec B et I " "renvoient B au lieu de recevoir un signal B. B(2) " "n'envoie pas d'autres B. Seul un processus Bé peut " "accepter des commandes B et B. Le " "comportement « seized » qui vient d'être décrit est récupéré par les enfants " "automatiquement attachés en utilisant B, " "B et B. I doit être de zéro. " "I contient un masque de bit des options ptrace à activer immédiatement." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Permission to perform a B is governed by a ptrace access mode " "B check; see below." msgstr "" "Le droit d'effectuer un B est géré par une vérification " "B du mode d'accès ptrace ; voir ci-dessous." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.4)" msgstr "B (depuis Linux 4.4)" #. commit f8e529ed941ba2bbcbf310b575d968159ce7e895 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This operation allows the tracer to dump the tracee's classic BPF filters." msgstr "" "Cette opération autorise l'observateur à vider les filtres BPF classiques de " "l'observé." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is an integer specifying the index of the filter to be dumped. The " "most recently installed filter has the index 0. If I is greater than " "the number of installed filters, the operation fails with the error " "B." msgstr "" "I est un entier indiquant l'index du filtre à vider. Le filtre le plus " "récemment installé a le numéro d'index B<0>. Si I est supérieur aux " "numéros des filtres installés, l'opération échoue avec l'erreur B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is either a pointer to a I array that is large " "enough to store the BPF program, or NULL if the program is not to be stored." msgstr "" "I est soit un pointeur vers un tableau I assez " "grand pour stocker le programme BPF, soit NULL si le programme ne va pas " "être stocké." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Upon success, the return value is the number of instructions in the BPF " "program. If I was NULL, then this return value can be used to " "correctly size the I array passed in a subsequent call." msgstr "" "En cas de succès, le code de retour est le nombre d'instructions du " "programme BPF. Si I était NULL, ce code de retour peut être utilisé " "pour dimensionner correctement le tableau I passé dans " "un appel ultérieur." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This operation fails with the error B if the caller does not have " "the B capability or if the caller is in strict or filter " "seccomp mode. If the filter referred to by I is not a classic BPF " "filter, the operation fails with the error B." msgstr "" "Cette opération échoue avec l'erreur B si l'appelant n'a pas la " "capacité B ou s'il est en mode seccomp filtré ou restreint. " "Si le filtre auquel renvoie I n'est pas un filtre BPF classique, " "l'opération échoue avec l'erreur B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This operation is available if the kernel was configured with both the " "B and the B options." msgstr "" "Cette opération n'est disponible que si le noyau a été configuré avec les " "options B et 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 "" "Restart the stopped tracee as for B, but first detach from it. " "Under Linux, a tracee can be detached in this way regardless of which method " "was used to initiate tracing. (I is ignored.)" msgstr "" "Relancer l'observé arrêté comme avec B, mais en commençant par " "s'en détacher. Sous Linux un observé peut être détaché ainsi quelque soit la " "méthode employée pour démarrer le suivi (I est ignoré)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.0)" msgstr "B (depuis Linux 2.6.0)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This operation performs a similar task to B(2). It reads " "the TLS entry in the GDT whose index is given in I, placing a copy of " "the entry into the I pointed to by I. (By contrast " "with B(2), the I of the I " "is ignored.)" msgstr "" "Cette opération effectue une tâche identique à B(2). Elle " "lit l'entrée TLS dans le GDT dont l'index est donné dans I, mettant " "une copie de l'entrée dans la I vers laquelle pointe " "I (contrairement à B(2), I de la " "I est ignorée)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.0)" msgstr "B (depuis Linux 2.6.0)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This operation performs a similar task to B(2). It sets " "the TLS entry in the GDT whose index is given in I, assigning it the " "data supplied in the I pointed to by I. (By " "contrast with B(2), the I of the I is ignored; in other words, this ptrace operation can't be used " "to allocate a free TLS entry.)" msgstr "" "Cette opération effectue la même tâche que B(2). Elle " "positionne l'entrée TLS dans le GDT dont l'index est donné dans I, en " "lui affectant les données fournies dans la I vers laquelle " "pointe I (contrairement à B(2), I de la " "I est ignorée ; autrement dit, cette opération de ptrace " "ne peut pas être utilisée pour affecter une entrée TLS libre)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 5.3)" msgstr "B (depuis Linux 5.3)" #. commit 201766a20e30f982ccfe36bebfad9602c3ff574a #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Retrieve information about the system call that caused the stop. The " "information is placed into the buffer pointed by the I argument, which " "should be a pointer to a buffer of type I. The " "I argument contains the size of the buffer pointed to by the I " "argument (i.e., I). The return value " "contains the number of bytes available to be written by the kernel. If the " "size of the data to be written by the kernel exceeds the size specified by " "the I argument, the output data is truncated." msgstr "" "Récupérer des informations sur l'appel système qui a provoqué l'arrêt. Les " "informations sont placées dans le tampon vers lequel pointe le paramètre " "I, lequel doit être un pointeur vers un tampon de type I. Le paramètre I contient la taille du tampon vers " "lequel pointe le paramètre I (à savoir I). Le code de retour contient le nombre d'octets que le " "noyau peut écrire. Si la taille des données que le noyau doit écrire dépasse " "celle indiquée par le paramètre I, les données de sortie sont " "tronquées." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The I structure contains the following fields:" msgstr "La structure I contient les champs suivants :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "struct ptrace_syscall_info {\n" " __u8 op; /* Type of system call stop */\n" " __u32 arch; /* AUDIT_ARCH_* value; see seccomp(2) */\n" " __u64 instruction_pointer; /* CPU instruction pointer */\n" " __u64 stack_pointer; /* CPU stack pointer */\n" " union {\n" " struct { /* op == PTRACE_SYSCALL_INFO_ENTRY */\n" " __u64 nr; /* System call number */\n" " __u64 args[6]; /* System call arguments */\n" " } entry;\n" " struct { /* op == PTRACE_SYSCALL_INFO_EXIT */\n" " __s64 rval; /* System call return value */\n" " __u8 is_error; /* System call error flag;\n" " Boolean: does rval contain\n" " an error value (-ERRCODE) or\n" " a nonerror return value? */\n" " } exit;\n" " struct { /* op == PTRACE_SYSCALL_INFO_SECCOMP */\n" " __u64 nr; /* System call number */\n" " __u64 args[6]; /* System call arguments */\n" " __u32 ret_data; /* SECCOMP_RET_DATA portion\n" " of SECCOMP_RET_TRACE\n" " return value */\n" " } seccomp;\n" " };\n" "};\n" msgstr "" "struct ptrace_syscall_info {\n" " __u8 op; /* Type d'appel système d'arrêt */\n" " __u32 arch; /* Valeur AUDIT_ARCH_* ; voir seccomp(2) */\n" " __u64 instruction_pointer; /* Pointeur vers l'instruction du processeur */\n" " __u64 stack_pointer; /* Pointeur vers la pile du processeur */\n" " union {\n" " struct { /* op == PTRACE_SYSCALL_INFO_ENTRY */\n" " __u64 nr; /* Numéro de l'appel système */\n" " __u64 args[6]; /* Paramètres de l'appel système */\n" " } entry;\n" " struct { /* op == PTRACE_SYSCALL_INFO_EXIT */\n" " __s64 rval; /* Code de retour de l'appel système */\n" " __u8 is_error; /* Attribut d'erreur de l'appel système ;\n" " Booléen : rval contient-il\n" " un code d'erreur (-ERRCODE) ou\n" " un code de retour de non erreur ? */\n" " } exit;\n" " struct { /* op == PTRACE_SYSCALL_INFO_SECCOMP */\n" " __u64 nr; /* Numéro de l'appel système */\n" " __u64 args[6]; /* Paramètres de l'appel système */\n" " __u32 ret_data; /* Partie SECCOMP_RET_DATA de la valeur\n" " de retour de SECCOMP_RET_TRACE */\n" " } seccomp;\n" " };\n" "};\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I, I, I, and I fields are " "defined for all kinds of ptrace system call stops. The rest of the " "structure is a union; one should read only those fields that are meaningful " "for the kind of system call stop specified by the I field." msgstr "" "Les champs I, I, I et I sont " "définis pour tous les types d'arrêts de l'appel système ptrace. Le reste de " "la structure est une union ; on ne doit lire que les champs significatifs " "pour le type d'arrêt de l'appel système indiqué par le champ I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I field has one of the following values (defined in Ilinux/" "ptrace.hE>) indicating what type of stop occurred and which part of the " "union is filled:" msgstr "" "Le champ I prend une des valeurs suivantes (définies dans Ilinux/" "ptrace.hE>), indiquant le type d'arrêt qui s'est produit et la partie " "remplie de l'union :" #. 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 I component of the union contains information relating to a " "system call entry stop." msgstr "" "Le composant I de l'union contient des informations liées à un arrêt " "d'entrée appel système." #. 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 I component of the union contains information relating to a system " "call exit stop." msgstr "" "Le composant I de l'union contient des informations sur un arrêt de " "sortie d'appel système." #. 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 I component of the union contains information relating to a " "B stop." msgstr "" "Le composant I de l'union contient des informations concernant un " "arrêt 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 "No component of the union contains relevant information." msgstr "Aucun composant de l'union ne contient d'informations pertinentes." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In case of system call entry or exit stops, the data returned by " "B is limited to type B " "unless B option is set before the corresponding " "system call stop has occurred." msgstr "" "Dans le cas où une entrée ou une sortie d'appel système s'interrompt, les " "données renvoyées par B sont limitées au type " "B à moins que l'option B ne " "soit définie avant que l'arrêt de l'appel système correspondant se produise." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Death under ptrace" msgstr "Mort sous ptrace" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When a (possibly multithreaded) process receives a killing signal (one whose " "disposition is set to B and whose default action is to kill the " "process), all threads exit. Tracees report their death to their tracer(s). " "Notification of this event is delivered via B(2)." msgstr "" "Quand un processus (éventuellement multithreadé) reçoit un signal pour le " "tuer (un dont la disposition est configurée à B et dont l'action " "par défaut est de tuer le processus), tous les threads se terminent. Chaque " "observé signale sa mort à son ou ses observateurs. La notification de cet " "événement est distribuée par B(2)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Note that the killing signal will first cause signal-delivery-stop (on one " "tracee only), and only after it is injected by the tracer (or after it was " "dispatched to a thread which isn't traced), will death from the signal " "happen on I tracees within a multithreaded process. (The term \"signal-" "delivery-stop\" is explained below.)" msgstr "" "Remarquez que le signal tueur provoquera d'abord un arrêt-distribution-" "signal (sur un seul observé) et, seulement après être injecté par " "l'observateur (ou après être envoyé à un thread qui n'est pas suivi), la " "mort du signal arrivera sur I les observés d'un processus multithreadé " "(le terme « arrêt-distribution-signal » est expliqué plus bas)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B does not generate signal-delivery-stop and therefore the tracer " "can't suppress it. B kills even within system calls (syscall-exit-" "stop is not generated prior to death by B). The net effect is that " "B always kills the process (all its threads), even if some threads " "of the process are ptraced." msgstr "" "B ne génère pas d'arrêt-distribution-signal et l'observateur ne " "peut par conséquent pas le supprimer. B tue même à l'intérieur des " "appels systèmes (arrêt-sortie-appel-système n'est pas créé avant la mort par " "B). L'effet direct est que B tue toujours le processus " "(tout ses threads), même si certains threads du processus sont suivis avec " "ptrace." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When the tracee calls B<_exit>(2), it reports its death to its tracer. " "Other threads are not affected." msgstr "" "Quand l'observé appelle B<_exit>(2), il signale sa mort à son observateur. " "Les autres threads ne sont pas concernés." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When any thread executes B(2), every tracee in its thread group " "reports its death to its tracer." msgstr "" "Quand n'importe quel thread exécute B(2), tous les observés de " "son groupe de threads signalent leur mort à leur observateur." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the B option is on, B will happen " "before actual death. This applies to exits via B(2), " "B(2), and signal deaths (except B, depending on the " "kernel version; see BUGS below), and when threads are torn down on " "B(2) in a multithreaded process." msgstr "" "Si l'option B est active, B arrivera " "avant la mort réelle. Cela s'applique aux terminaisons avec B(2), " "B(2) et aux morts de signal (sauf B, selon la version " "du noyau ; voir les BOGUES ci-dessous), et lorsque les threads sont détruits " "par B(2) dans un processus multithreadé." #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "The tracer cannot assume that the ptrace-stopped tracee exists. There are " "many scenarios when the tracee may die while stopped (such as B). " "Therefore, the tracer must be prepared to handle an B error on any " "ptrace operation. Unfortunately, the same error is returned if the tracee " "exists but is not ptrace-stopped (for commands which require a stopped " "tracee), or if it is not traced by the process which issued the ptrace " "call. The tracer needs to keep track of the stopped/running state of the " "tracee, and interpret B as \"tracee died unexpectedly\" only if it " "knows that the tracee has been observed to enter ptrace-stop. Note that " "there is no guarantee that I will reliably report the " "tracee's death status if a ptrace operation returned B. " "I may return 0 instead. In other words, the tracee may be " "\"not yet fully dead\", but already refusing ptrace operations." msgstr "" "L'observateur ne peut pas assumer que l'observé arrêté-ptrace existe. " "L'observé risque de mourir avant d'être arrêté dans plusieurs cas (comme " "avec B). Par conséquent, le tracé doit être préparé pour traiter " "une erreur B sur n'importe quelle opération ptrace. Malheureusement, " "la même erreur est renvoyée si l'observé existe mais n'est pas arrêté-ptrace " "(pour les commandes qui nécessitent un observé arrêté), ou s'il n'est pas " "suivi par le processus qui a envoyé l'appel ptrace. L'observateur doit " "garder une trace de l'état arrêté ou en fonctionnement de l'observé, et " "interpréter B comme « l'observé s'est achevé de manière inattendue » " "seulement s'il sait que l'observé est effectivement entré en arrêt-ptrace. " "Remarquez qu'il n'est pas garanti que I signale de façon " "fiable l'état de mort de l'observé si une opération ptrace renvoie B. " "I pourrait plutôt renvoyer B<0>. Autrement dit, l'observé " "pourrait « ne pas être encore mort », mais déjà refuser des opérations " "ptrace." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The tracer can't assume that the tracee I ends its life by reporting " "I or I; there are cases where this " "does not occur. For example, if a thread other than thread group leader " "does an B(2), it disappears; its PID will never be seen again, and " "any subsequent ptrace stops will be reported under the thread group leader's " "PID." msgstr "" "L'observateur ne peut pas assumer que l'observé finit I sa vie en " "signalant I ou I ; dans certains cas " "ça n'arrive pas. Par exemple si un thread différent du leader de groupe de " "threads fait un B(2), il disparaît ; son PID ne sera plus jamais vu, " "tous les arrêts suivants de ptrace seront signalés sous le PID du leader de " "groupe de threads." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Stopped states" msgstr "États arrêtés" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A tracee can be in two states: running or stopped. For the purposes of " "ptrace, a tracee which is blocked in a system call (such as B(2), " "B(2), etc.) is nevertheless considered to be running, even if the " "tracee is blocked for a long time. The state of the tracee after " "B is somewhat of a gray area: it is not in any ptrace-stop " "(ptrace commands won't work on it, and it will deliver B(2) " "notifications), but it also may be considered \"stopped\" because it is not " "executing instructions (is not scheduled), and if it was in group-stop " "before B, it will not respond to signals until B is " "received." msgstr "" "Deux états existent pour un observé : en cours d'exécution ou à l'arrêt. Du " "point de vue de ptrace, un observé qui est bloqué dans un appel système " "(comme B(2), B(2), etc.) est néanmoins considéré en cours " "d’exécution, même si l’observé est bloqué depuis longtemps. L’état de " "l’observé après B est en quelque sorte une zone d’ombre : il " "n’est dans aucun arrêt-ptrace (les commandes ptrace n’auront aucun effet sur " "lui et il distribuera des notifications B(2)), mais il pourrait " "aussi être considéré « arrêté » parce qu’il n’est pas en train d’exécuter " "des instructions (pas de programmation) et, s’il était en arrêt-groupe avant " "B, il ne répondra pas aux signaux avant de recevoir " "B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "There are many kinds of states when the tracee is stopped, and in ptrace " "discussions they are often conflated. Therefore, it is important to use " "precise terms." msgstr "" "De nombreuses sortes d'états sont possibles quand l'observé est arrêté, et " "les discussions dans ptrace sont souvent confondues. Par conséquent, " "l'utilisation de termes précis est importante." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In this manual page, any stopped state in which the tracee is ready to " "accept ptrace commands from the tracer is called I. Ptrace-" "stops can be further subdivided into I, I, " "I, I, and so on. These stopped states are " "described in detail below." msgstr "" "Dans cette page de manuel, tous les états d'arrêt dans lesquels l'observé " "est prêt à accepter des commandes ptrace de l'observateur sont appelés " "I. Les arrêts-ptrace peuvent ensuite être sous-divisés en " "I, I, I, I, etc. Ces états d'arrêt sont décrits en " "détail ci-dessous." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When the running tracee enters ptrace-stop, it notifies its tracer using " "B(2) (or one of the other \"wait\" system calls). Most of this " "manual page assumes that the tracer waits with:" msgstr "" "Lorsque l'observé en cours d'exécution entre en arrêt-ptrace, il avise son " "observateur en utilisant B(2) (ou un des autres appels système " "« wait »). La plupart de cette page de manuel suppose que l'observateur " "attend avec :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "pid = waitpid(pid_or_minus_1, &status, __WALL);\n" msgstr "pid = waitpid(pid_ou_moins_1, &status, __WALL);\n" #. Denys Vlasenko: #. Do we require __WALL usage, or will just using 0 be ok? (With 0, #. I am not 100% sure there aren't ugly corner cases.) Are the #. rules different if user wants to use waitid? Will waitid require #. WEXITED? #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Ptrace-stopped tracees are reported as returns with I greater than 0 " "and I true." msgstr "" "Les observés arrêtés-ptrace sont signalés comme renvoyés avec un I " "strictement positif et I vrai." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B<__WALL> flag does not include the B and B flags, " "but implies their functionality." msgstr "" "L'attribut B<__WALL> ne contient pas les attributs B et " "B, mais implique leur fonctionnalité." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Setting the B flag when calling B(2) is not " "recommended: the \"continued\" state is per-process and consuming it can " "confuse the real parent of the tracee." msgstr "" "La configuration de l'attribut B en appelant B(2) n'est " "pas conseillée : l'état « exécuté » est relatif au processus et l'utiliser " "peut embrouiller le vrai parent de l'observé." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Use of the B flag may cause B(2) to return 0 (\"no wait " "results available yet\") even if the tracer knows there should be a " "notification. Example:" msgstr "" "Utiliser l'attribut B pourrait forcer B(2) à renvoyer B<0> " "(« aucun résultat d'attente encore disponible ») même si l'observateur sait " "qu'il devrait y avoir une notification. Exemple :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "errno = 0;\n" "ptrace(PTRACE_CONT, pid, 0L, 0L);\n" "if (errno == ESRCH) {\n" " /* tracee is dead */\n" " r = waitpid(tracee, &status, __WALL | WNOHANG);\n" " /* r can still be 0 here! */\n" "}\n" msgstr "" "errno = 0;\n" "ptrace(PTRACE_CONT, pid, 0L, 0L);\n" "if (errno == ESRCH) {\n" " /* l'observé est mort */\n" " r = waitpid(tracee, &status, __WALL | WNOHANG);\n" " /* r peut encore valoir 0 ici ! */\n" "}\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following kinds of ptrace-stops exist: signal-delivery-stops, group-" "stops, B stops, syscall-stops. They all are reported by " "B(2) with I true. They may be differentiated " "by examining the value IE8>, and if there is ambiguity in " "that value, by querying B. (Note: the " "I macro can't be used to perform this examination, because " "it returns the value I<(statusEE8)\\ &\\ 0xff>.)" msgstr "" "Les sortes d'arrêts-ptrace suivants existent : arrêts-distribution-signal, " "arrêts-groupe, arrêts B et arrêts-appel-système. Ils sont " "signalés par B(2) avec I vrai. Ils peuvent être " "distingués en examinant la valeur IE8>, et en cas " "d'ambiguïté dans cette valeur, en faisant une requête B " "(remarque : la macro I ne peut pas être utilisée pour " "réaliser cet examen, car elle renvoie la valeur I<(statusEE8)\\ &\\ " "0xff>.)" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Signal-delivery-stop" msgstr "Arrêt-distribution-signal" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "When a (possibly multithreaded) process receives any signal except " "B, the kernel selects an arbitrary thread which handles the " "signal. (If the signal is generated with B(2), the target thread " "can be explicitly selected by the caller.) If the selected thread is " "traced, it enters signal-delivery-stop. At this point, the signal is not " "yet delivered to the process, and can be suppressed by the tracer. If the " "tracer doesn't suppress the signal, it passes the signal to the tracee in " "the next ptrace restart operation. This second step of signal delivery is " "called I in this manual page. Note that if the signal is " "blocked, signal-delivery-stop doesn't happen until the signal is unblocked, " "with the usual exception that B can't be blocked." msgstr "" "Quand un processus (éventuellement multithreadé) reçoit n'importe quel " "signal sauf B, le noyau choisi un thread arbitraire pour traiter le " "signal (si le signal est créé avec B(2), le thread cible peut être " "explicitement choisi par l'appelant). Si le thread choisi est observé, il " "entre en arrêt-distribution-signal. À ce moment là, le signal n'est pas " "encore distribué au processus, et peut être supprimé par l'observateur. Si " "l'observateur ne supprime pas le signal, il passe le signal à l'observé lors " "de l'opération suivante de redémarrage de ptrace. Cette deuxième étape de " "distribution de signal est appelée I dans cette page de " "manuel. Remarquez que si le signal est bloqué, l'arrêt-distribution-signal " "n'arrive pas avant que le signal soit débloqué, à l'exception habituelle que " "B ne peut pas être bloqué." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Signal-delivery-stop is observed by the tracer as B(2) returning " "with I true, with the signal returned by " "I. If the signal is B, this may be a different " "kind of ptrace-stop; see the \"Syscall-stops\" and \"execve\" sections below " "for details. If I returns a stopping signal, this may be " "a group-stop; see below." msgstr "" "L'arrêt-distribution-signal est respecté par l'observateur tant que " "B(2) retourne avec I vrai, avec le signal " "renvoyé par I. Si le signal est B, cela pourrait " "être un arrêt-ptrace de nature différente ; consultez les sections B et B plus bas pour obtenir de plus " "amples précisions. Si I renvoie un signal d'arrêt, cela " "pourrait être un arrêt-groupe ; voir ci-dessous." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Signal injection and suppression" msgstr "Injection et suppression de signal" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "After signal-delivery-stop is observed by the tracer, the tracer should " "restart the tracee with the call" msgstr "" "Après un arrêt-distribution-signal respecté par l'observateur, l'observateur " "devrait redémarrer l'observé avec l'appel" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ptrace(PTRACE_restart, pid, 0, sig)\n" msgstr "ptrace(PTRACE_restart, pid, 0, sig)\n" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "where B is one of the restarting ptrace operations. If " "I is 0, then a signal is not delivered. Otherwise, the signal I " "is delivered. This operation is called I in this manual " "page, to distinguish it from signal-delivery-stop." msgstr "" "où B est une des opérations ptrace de redémarrage. Si I " "est B<0>, alors aucun signal n'est distribué. Sinon, le signal I est " "distribué. Cette opération est appelée I dans cette " "page de manuel, pour la distinguer de l'arrêt-distribution-signal." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I value may be different from the I value: the " "tracer can cause a different signal to be injected." msgstr "" "La valeur de I peut être différente de celle de I : " "l'observateur peut provoquer l'injection d'un autre signal." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Note that a suppressed signal still causes system calls to return " "prematurely. In this case, system calls will be restarted: the tracer will " "observe the tracee to reexecute the interrupted system call (or " "B(2) system call for a few system calls which use a " "different mechanism for restarting) if the tracer uses B. " "Even system calls (such as B(2)) which are not restartable after " "signal are restarted after signal is suppressed; however, kernel bugs exist " "which cause some system calls to fail with B even though no " "observable signal is injected to the tracee." msgstr "" "Remarquez qu'un signal supprimé provoque toujours un retour prématuré des " "appels système. Dans ce cas, les appels système seront redémarrés : " "l'observateur forcera l'observé à réexécuter l'appel système interrompu (ou " "l'appel système B(2) pour les quelques appels système qui " "utilisent un autre mécanisme de redémarrage) si l'observateur utilise " "B. Même les appels système (comme B(2)) qui ne sont " "pas redémarrables après le signal sont redémarrés après la suppression du " "signal ; cependant, des bogues du noyau existent et certains appels système " "échouent avec B même si aucun signal observable n'est injecté dans " "l'observé." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Restarting ptrace commands issued in ptrace-stops other than signal-delivery-" "stop are not guaranteed to inject a signal, even if I is nonzero. No " "error is reported; a nonzero I may simply be ignored. Ptrace users " "should not try to \"create a new signal\" this way: use B(2) " "instead." msgstr "" "Lors du redémarrage des commandes ptrace émises dans d'autres arrêts-ptrace " "qu'arrêt-distribution-signal, l'injection de signal n'est pas garantie, même " "si I est non nul. Aucune erreur n'est signalée ; un I non nul " "risque simplement d'être ignoré. Les utilisateurs de ptrace ne devraient pas " "essayer de « créer un nouveau signal » de cette façon : utilisez plutôt " "B(2)." #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "The fact that signal injection operations may be ignored when restarting the " "tracee after ptrace stops that are not signal-delivery-stops is a cause of " "confusion among ptrace users. One typical scenario is that the tracer " "observes group-stop, mistakes it for signal-delivery-stop, restarts the " "tracee with" msgstr "" "Le fait que des opérations d'injection de signal puissent être ignorées lors " "du redémarrage de l'observé après des arrêts ptrace qui ne sont pas des " "arrêts-distribution-signal est une source de confusion pour les utilisateurs " "de ptrace. Un scénario typique est que l'observateur remarque un arrêt-" "groupe, le confonde avec un arrêt-distribution-signal, et redémarre " "l'observé avec" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ptrace(PTRACE_restart, pid, 0, stopsig)\n" msgstr "ptrace(PTRACE_restart, pid, 0, stopsig)\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "with the intention of injecting I, but I gets ignored and " "the tracee continues to run." msgstr "" "dans le but d'injecter I, mais I sera ignoré et l'observé " "continuera de fonctionner." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B signal has a side effect of waking up (all threads of) a " "group-stopped process. This side effect happens before signal-delivery-" "stop. The tracer can't suppress this side effect (it can only suppress " "signal injection, which only causes the B handler to not be " "executed in the tracee, if such a handler is installed). In fact, waking up " "from group-stop may be followed by signal-delivery-stop for signal(s) " "I B, if they were pending when B was " "delivered. In other words, B may be not the first signal observed " "by the tracee after it was sent." msgstr "" "Le signal B a pour effet de bord de réveiller (tous les threads " "d')un processus arrêté-groupe. Cet effet de bord arrive avant un arrêt-" "distribution-signal. L'observateur ne peut pas supprimer cet effet de bord " "(il ne peut que supprimer l'injection de signal, qui force seulement le " "gestionnaire de B à ne pas être exécuté dans l'observé, si un " "gestionnaire de ce type est installé). En fait, le réveil depuis un arrêt-" "groupe pourrait être suivi par un arrêt-distribution-signal pour le ou les " "signaux I de B, s'ils étaient en attente quand " "B a été distribué. Autrement dit, B pourrait ne pas être " "le premier signal remarqué par l'observé après avoir été envoyé." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Stopping signals cause (all threads of) a process to enter group-stop. This " "side effect happens after signal injection, and therefore can be suppressed " "by the tracer." msgstr "" "L'arrêt de signaux force (tous les threads d')un processus à entrer en arrêt-" "groupe. Cet effet de bord arrive après une injection de signal, et peut par " "conséquent être supprimé par l'observateur." # #. In the Linux 2.4 sources, in arch/i386/kernel/signal.c::do_signal(), #. there is: #. /* The debugger continued. Ignore SIGSTOP. */ #. if (signr == SIGSTOP) #. continue; #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "In Linux 2.4 and earlier, the B signal can't be injected." msgstr "" "Sous Linux 2.4 et les versions précédentes, le signal B ne pouvait " "pas être injecté." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B can be used to retrieve a I structure which " "corresponds to the delivered signal. B may be used to " "modify it. If B has been used to alter I, the " "I field and the I parameter in the restarting command must " "match, otherwise the result is undefined." msgstr "" "B peut être utilisé pour récupérer une structure " "I qui correspond au signal distribué. B " "pourrait être utilisé pour le modifier. Si B a été " "utilisé pour modifier I, le champ I et le paramètre " "I de la commande de redémarrage doivent correspondre, sinon le résultat " "est indéfini." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Group-stop" msgstr "Arrêt-groupe" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When a (possibly multithreaded) process receives a stopping signal, all " "threads stop. If some threads are traced, they enter a group-stop. Note " "that the stopping signal will first cause signal-delivery-stop (on one " "tracee only), and only after it is injected by the tracer (or after it was " "dispatched to a thread which isn't traced), will group-stop be initiated on " "I tracees within the multithreaded process. As usual, every tracee " "reports its group-stop separately to the corresponding tracer." msgstr "" "Quand un processus (éventuellement multithreadé) reçoit un signal d'arrêt, " "tous les threads s'arrêtent. Si certains threads sont suivis, ils entrent en " "arrêt-groupe. Remarquez que le signal d'arrêt provoquera d'abord un arrêt-" "distribution-signal (sur un seul observé) et, seulement après avoir été " "injecté par l'observateur (ou après avoir été envoyé à un thread qui n'est " "pas suivi), l'arrêt-groupe sera initié sur I les observés d'un " "processus multithreadé. Comme d'habitude, tous les observés signalent leur " "arrêt-groupe séparément à l'observateur correspondant." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Group-stop is observed by the tracer as B(2) returning with " "I true, with the stopping signal available via " "I. The same result is returned by some other classes of " "ptrace-stops, therefore the recommended practice is to perform the call" msgstr "" "L'arrêt-groupe est respecté par l'observateur tant que B(2) " "retourne avec I vrai, avec le signal d'arrêt disponible " "par l'intermédiaire de I. Le même résultat est renvoyé par " "d'autres classes d'arrêts-ptrace, par conséquent la méthode conseillée est " "de réaliser l'appel" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ptrace(PTRACE_GETSIGINFO, pid, 0, &siginfo)\n" msgstr "ptrace(PTRACE_GETSIGINFO, pid, 0, &siginfo)\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The call can be avoided if the signal is not B, B, " "B, or B; only these four signals are stopping signals. If " "the tracer sees something else, it can't be a group-stop. Otherwise, the " "tracer needs to call B. If B fails " "with B, then it is definitely a group-stop. (Other failure codes " "are possible, such as B (\"no such process\") if a B killed " "the tracee.)" msgstr "" "L'appel peut être évité si le signal n'est pas B, B, " "B ou B ; seuls ces quatre signaux sont des signaux " "d'arrêt. Si l'observateur voit autre chose, ce ne peut pas être un arrêt-" "groupe. Sinon, l'observateur doit appeler B. Si " "B échoue avec B, alors c'est définitivement un " "arrêt-groupe (d'autres codes d'échec sont possibles, comme B (« pas " "de processus de ce type ») si un B a tué l'observé)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If tracee was attached using B, group-stop is indicated by " "B: IE16 == PTRACE_EVENT_STOP>. This " "allows detection of group-stops without requiring an extra " "B call." msgstr "" "Si l’observé était attaché en utilisant B, un arrêt-groupe est " "indiqué par B : IE16 == " "PTRACE_EVENT_STOP>. Cela permet la détection d’arrêts-groupe sans nécessiter " "d’appel B supplémentaire." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "As of Linux 2.6.38, after the tracer sees the tracee ptrace-stop and until " "it restarts or kills it, the tracee will not run, and will not send " "notifications (except B death) to the tracer, even if the tracer " "enters into another B(2) call." msgstr "" "Depuis Linux 2.6.38, après que l'observateur a vu l'arrêt-ptrace de " "l'observé et jusqu'à ce qu'il le redémarre ou le tue, l'observé ne " "fonctionnera pas, et n'enverra pas de notification (sauf mort par " "B) à l'observateur, même si l'observateur entre dans un autre appel " "B(2)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The kernel behavior described in the previous paragraph causes a problem " "with transparent handling of stopping signals. If the tracer restarts the " "tracee after group-stop, the stopping signal is effectively ignored\\[em]the " "tracee doesn't remain stopped, it runs. If the tracer doesn't restart the " "tracee before entering into the next B(2), future B " "signals will not be reported to the tracer; this would cause the B " "signals to have no effect on the tracee." msgstr "" "Le comportement du noyau décrit dans le paragraphe précédent pose un " "problème avec la gestion transparente de signaux d'arrêt. Si l'observateur " "redémarre l'observé après un arrêt-groupe, le signal d'arrêt est " "effectivement ignoré — l'observé ne reste pas arrêté, il fonctionne. Si " "l'observateur ne redémarre pas l'observé avant d'entrer dans le prochain " "B(2), les signaux B suivants ne seront pas signalés à " "l'observateur ; cela pourrait forcer des signaux B à être sans " "effet sur l'observé." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Since Linux 3.4, there is a method to overcome this problem: instead of " "B, a B command can be used to restart a tracee " "in a way where it does not execute, but waits for a new event which it can " "report via B(2) (such as when it is restarted by a B)." msgstr "" "Depuis Linux 3.4, une méthode permet d'éviter ce problème : à la place de " "B, une commande B peut être utilisée pour " "redémarrer un observé de façon à ce qu'il ne s'exécute pas, mais attende un " "nouvel événement qu'il peut signaler à l'aide de B(2) (comme s'il " "était redémarré par un B)." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "PTRACE_EVENT stops" msgstr "Arrêts PTRACE_EVENT" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the tracer sets B options, the tracee will enter ptrace-" "stops called B stops." msgstr "" "Si l'observateur configure des options B, l'observé " "entrera en arrêts-ptrace appelés arrêts B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B stops are observed by the tracer as B(2) returning " "with I, and I returns B (or " "for B, returns the stopping signal if tracee is in a " "group-stop). An additional bit is set in the higher byte of the status " "word: the value IE8> will be" msgstr "" "Les arrêts B sont respectés par l'observateur pendant que " "B(2) renvoie I et que I " "renvoie B (ou pour B, renvoie le signal d'arrêt " "si l'observé est dans un arrêt de groupe). Un bit supplémentaire est " "configuré dans l'octet le plus haut du mot d'état : la valeur " "IE8> sera" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "((PTRACE_EVENT_fooEE8) | SIGTRAP).\n" msgstr "((PTRACE_EVENT_fooEE8) | SIGTRAP).\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The following events exist:" msgstr "Les événements suivants existent." #. 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 "" "Stop before return from B(2) or B(2) with the B " "flag. When the tracee is continued after this stop, it will wait for child " "to exit/exec before continuing its execution (in other words, the usual " "behavior on B(2))." msgstr "" "Arrêt avant de revenir de B(2) ou B(2) avec l'attribut " "B. Quand l'observé est continué après cet arrêt, il attendra " "une sortie ou exécution de l'enfant avant de continuer son exécution " "(autrement dit, le comportement normal avec B(2))." #. 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 "" "Stop before return from B(2) or B(2) with the exit signal set " "to B." msgstr "" "Arrêt avant de revenir de B(2) ou B(2) avec le signal de sortie " "configuré à 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 "Stop before return from B(2)." msgstr "Arrêt avant de revenir de B(2)." #. 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 "" "Stop before return from B(2) or B(2) with the B " "flag, but after the child unblocked this tracee by exiting or execing." msgstr "" "Arrêt avant de revenir de B(2) ou B(2) avec l'attribut " "B, mais après que l'enfant a débloqué son observé par sortie ou " "exécution." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For all four stops described above, the stop occurs in the parent (i.e., the " "tracee), not in the newly created thread. B can be used " "to retrieve the new thread's ID." msgstr "" "Pour les quatre arrêts décrits ci-dessus, l'arrêt arrive dans le parent " "(c'est-à-dire l'observé), pas dans le nouveau thread créé. " "B permet de récupérer l'identifiant du nouveau thread." #. 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 "" "Stop before return from B(2). Since Linux 3.0, " "B returns the former thread ID." msgstr "" "Arrêt avant le retour d'B(2). Depuis Linux 3.0, " "B renvoie le premier identifiant de thread." #. 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 "" "Stop before exit (including death from B(2)), signal death, or " "exit caused by B(2) in a multithreaded process. " "B returns the exit status. Registers can be examined " "(unlike when \"real\" exit happens). The tracee is still alive; it needs to " "be Bed or Bed to finish exiting." msgstr "" "Arrêt avant la sortie (y compris la mort depuis B(2)), la mort " "du signal ou la sortie provoquée par B(2) dans un processus " "multithreadé. B renvoie l'état de sortie. Les registres " "peuvent être examinés (contrairement à quand une « vraie » sortie arrive). " "L'observé est toujours actif ; il a besoin de B ou " "B pour terminer sa sortie." #. 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 "" "Stop induced by B command, or group-stop, or initial " "ptrace-stop when a new child is attached (only if attached using " "B)." msgstr "" "Arrêt causé par la commande B, ou arrêt-groupe, ou arrêt-" "ptrace initial quand un nouvel enfant est attaché (seulement s’il est " "attaché en utilisant 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 "" "Stop triggered by a B(2) rule on tracee syscall entry when " "B has been set by the tracer. The seccomp event " "message data (from the B portion of the seccomp filter " "rule) can be retrieved with B. The semantics of this " "stop are described in detail in a separate section below." msgstr "" "Arrêt différé par une règle B(2) sur l'entrée appel système de " "l'observé quand B a été positionné par l'observateur. " "Les données du message de l'événement seccomp (issues de la portion " "B de la règle de filtrage seccomp) peuvent être récupérées " "avec B. La sémantique de cet arrêt est décrit en détails " "dans une section distincte ci-dessous." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B on B stops returns B in " "I, with I set to I<(eventEE8)\\ |\\ SIGTRAP>." msgstr "" "B sur les arrêts B renvoie B dans " "I, avec I configuré à I<(eventEE8)\\ |\\ SIGTRAP>." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Syscall-stops" msgstr "Arrêts-appel-système" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the tracee was restarted by B or B, the " "tracee enters syscall-enter-stop just prior to entering any system call " "(which will not be executed if the restart was using B, " "regardless of any change made to registers at this point or how the tracee " "is restarted after this stop). No matter which method caused the syscall-" "entry-stop, if the tracer restarts the tracee with B, the " "tracee enters syscall-exit-stop when the system call is finished, or if it " "is interrupted by a signal. (That is, signal-delivery-stop never happens " "between syscall-enter-stop and syscall-exit-stop; it happens I " "syscall-exit-stop.). If the tracee is continued using any other method " "(including B), no syscall-exit-stop occurs. Note that all " "mentions B apply equally to B." msgstr "" "Si l'observé était redémarré par B ou B, " "l'observé entre en arrêt-entrée-appel-système juste avant d'entrer dans " "n'importe quel appel système (qui ne sera pas exécuté si le redémarrage " "utilisait B, quels que soient les changements apportés aux " "registres à ce point ou à la manière dont l'observé redémarre après cet " "arrêt). Peu importe la méthode qui a conduit en arrêt-entrée-appel-système " "si l’observateur redémarre l’observé avec B, l’observé entre " "en arrêt-sortie-appel-système quand l’appel système est terminé ou s'il est " "interrompu par un signal (c'est-à-dire qu'un arrêt-distribution-signal " "n'arrive jamais entre un arrêt-entrée-appel-système et un arrêt-sortie-appel-" "système ; il arrive I l'arrêt-sortie-appel-système). Si l'observé est " "poursuivi en utilisant une autre méthode (notamment B), aucun " "arrêt-sortie-appel-système ne se produit. Remarquez que toutes les mentions " "B s'appliquent également à B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "However, even if the tracee was continued using B, it is not " "guaranteed that the next stop will be a syscall-exit-stop. Other " "possibilities are that the tracee may stop in a B stop " "(including seccomp stops), exit (if it entered B<_exit>(2) or " "B(2)), be killed by B, or die silently (if it is a " "thread group leader, the B(2) happened in another thread, and that " "thread is not traced by the same tracer; this situation is discussed later)." msgstr "" "Toutefois, même si l'observé a été poursuivi en utilisant B, " "il n'est pas garanti que le prochain arrêt sera un arrêt-sortie-appel-" "système. D'autres possibilités sont que l'observé pourrait s'arrêter dans un " "arrêt B, sortir (s'il est entré en B<_exit>(2) ou " "B(2)), être tué par B ou mourir silencieusement (s'il " "s'agit d'un leader de groupe de threads, que l'B(2) est arrivé dans " "un autre thread et que ce thread n'est pas suivi par le même observateur ; " "cette situation sera abordée plus tard)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Syscall-enter-stop and syscall-exit-stop are observed by the tracer as " "B(2) returning with I true, and " "I giving B. If the B " "option was set by the tracer, then I will give the value " "I<(SIGTRAP\\ |\\ 0x80)>." msgstr "" "Les arrêt-entrée-appel-système et arrêt-sortie-appel-système sont respectés " "par l'observateur tant que B(2) retourne avec I " "vrai, et que I donne B. Si l'option " "B était configurée par l'observateur, alors " "I donnera la valeur (I)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Syscall-stops can be distinguished from signal-delivery-stop with B " "by querying B for the following cases:" msgstr "" "Les arrêts-appel-système peuvent être distingués d'un arrêt-distribution-" "signal avec B en demandant B pour les cas " "suivants." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "I E= 0" msgstr "I E= 0" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "B was delivered as a result of a user-space action, for example, a " "system call (B(2), B(2), B(3), etc.), expiration of " "a POSIX timer, change of state on a POSIX message queue, or completion of an " "asynchronous I/O operation." msgstr "" "B a été distribué comme résultat d'une action en espace " "utilisateur, par exemple, un appel système (B(2), B(2), " "B(3), etc.), l'expiration d'un minuteur POSIX, la modification " "d'état sur une file de messages POSIX où la fin d'une opération d'E/S " "asynchrone." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "I == SI_KERNEL (0x80)" msgstr "I == SI_KERNEL (0x80)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B was sent by the kernel." msgstr "B a été envoyé par le noyau." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "I == SIGTRAP or I == (SIGTRAP|0x80)" msgstr "I == SIGTRAP ou I == (SIGTRAP|0x80)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "This is a syscall-stop." msgstr "C'est un arrêt-appel-système." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "However, syscall-stops happen very often (twice per system call), and " "performing B for every syscall-stop may be somewhat " "expensive." msgstr "" "Cependant, les arrêts-appel-système arrivent très souvent (deux fois par " "appel système) et réaliser B pour chaque arrêt-appel-" "système pourrait être assez coûteux." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Some architectures allow the cases to be distinguished by examining " "registers. For example, on x86, I == -B in syscall-enter-" "stop. Since B (like any other signal) always happens I " "syscall-exit-stop, and at this point I almost never contains -" "B, the B looks like \"syscall-stop which is not syscall-" "enter-stop\"; in other words, it looks like a \"stray syscall-exit-stop\" " "and can be detected this way. But such detection is fragile and is best " "avoided." msgstr "" "Certaines architectures permettent de distinguer ces cas en examinant les " "registres. Par exemple, sur x86, I == -B en arrêt-entrée-appel-" "système. Puisque B (comme tout autre signal) arrive toujours " "I l'arrêt-sortie-appel-système et que I ne contient à ce moment " "presque jamais -B, le B ressemble à un « arrêt-appel-" "système qui n'est pas un arrêt-entrée-appel-système » ; autrement dit, il " "ressemble à un « arrêt-sortie-appel-système perdu » et peut être détecté de " "cette façon. Une telle détection est néanmoins fragile, elle est donc a " "éviter." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Using the B option is the recommended method to " "distinguish syscall-stops from other kinds of ptrace-stops, since it is " "reliable and does not incur a performance penalty." msgstr "" "L'utilisation de l'option B est la méthode conseillée " "pour distinguer les arrêts-appel-système des autres sortes d'arrêts-ptrace, " "puisqu'il est fiable et n'induit pas de perte de performances." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Syscall-enter-stop and syscall-exit-stop are indistinguishable from each " "other by the tracer. The tracer needs to keep track of the sequence of " "ptrace-stops in order to not misinterpret syscall-enter-stop as syscall-exit-" "stop or vice versa. In general, a syscall-enter-stop is always followed by " "syscall-exit-stop, B stop, or the tracee's death; no other " "kinds of ptrace-stop can occur in between. However, note that seccomp stops " "(see below) can cause syscall-exit-stops, without preceding syscall-entry-" "stops. If seccomp is in use, care needs to be taken not to misinterpret " "such stops as syscall-entry-stops." msgstr "" "Les arrêt-entrée-appel-système et arrêt-sortie-appel-système ne sont pas " "différentiables l'un de l'autre. L'observateur doit garder une trace de la " "suite d'arrêts-ptrace afin de ne pas mal interpréter un arrêt-entrée-appel-" "système comme un arrêt-sortie-appel-système ou vice versa. Généralement, " "l'arrêt-entrée-appel-système est toujours suivi par un arrêt-sortie-appel-" "système, un arrêt B ou la mort de l'observé ; aucune autre " "sorte d'arrêt-ptrace ne peut arriver entre-deux. Toutefois, remarquez que " "les arrêts seccomp (voir ci-dessous) peuvent provoquer des arrêts-sortie-" "appel-système sans arrêt-entrée-appel-système préalable. Si seccomp, il faut " "faire attention à ne pas mal interpréter de tels arrêts en arrêts-entrée-" "appel-système." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If after syscall-enter-stop, the tracer uses a restarting command other than " "B, syscall-exit-stop is not generated." msgstr "" "Si suite à un arrêt-entrée-appel-système, l'observateur utilise une commande " "de redémarrage différente de B, l'arrêt-sortie-appel-système " "n'est pas créé." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B on syscall-stops returns B in I, " "with I set to B or I<(SIGTRAP|0x80)>." msgstr "" "B sur les arrêts-appel-système renvoie B dans " "I, avec I configuré à B ou (B)." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "PTRACE_EVENT_SECCOMP stops (Linux 3.5 to Linux 4.7)" msgstr "Arrêts PTRACE_EVENT_SECCOMP (Linux 3.5 à Linux 4.7)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The behavior of B stops and their interaction with " "other kinds of ptrace stops has changed between kernel versions. This " "documents the behavior from their introduction until Linux 4.7 (inclusive). " "The behavior in later kernel versions is documented in the next section." msgstr "" "Le comportement des arrêts B et leur interaction avec " "les autres types d'arrêt ptrace a changé entre les versions du noyau. Nous " "documentons ici le comportement lors de leur introduction dans Linux 4.7 " "(inclus). Le comportement dans les versions postérieures du noyau est " "documenté dans la section suivante." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A B stop occurs whenever a B rule " "is triggered. This is independent of which methods was used to restart the " "system call. Notably, seccomp still runs even if the tracee was restarted " "using B and this system call is unconditionally skipped." msgstr "" "Un arrêt B se produit à chaque fois qu'une règle " "B est déclenchée. Cela est indépendant de la méthode " "utilisée pour redémarrer l'appel système. En particulier, seccomp s'exécute " "toujours même si l'observé a été redémarré en utilisant B et " "cet appel système est sauté sans condition." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Restarts from this stop will behave as if the stop had occurred right before " "the system call in question. In particular, both B and " "B will normally cause a subsequent syscall-entry-stop. " "However, if after the B the system call number is " "negative, both the syscall-entry-stop and the system call itself will be " "skipped. This means that if the system call number is negative after a " "B and the tracee is restarted using B, " "the next observed stop will be a syscall-exit-stop, rather than the syscall-" "entry-stop that might have been expected." msgstr "" "Les redémarrages à partir de cet arrêt se comporteront comme si l'arrêt " "s'était produit juste avant l'appel système en question. En particulier, " "tant B que B provoqueront normalement un " "arrêt-entrée-appel-système ultérieur. Cependant, si après le " "B le numéro de l'appel système est négatif, l'arrêt-" "entrée-appel-système et l'appel lui-même seront tous deux sautés. Cela veut " "dire que si le numéro d'appel système est négatif après un " "B et si l'observé est redémarré en utilisant " "B, le prochain arrêt observé sera un arrêt-sortie-appel-" "système et non un arrêt-entrée-appel-système qui comme on aurait pu s'y " "attendre." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "PTRACE_EVENT_SECCOMP stops (since Linux 4.8)" msgstr "Arrêts PTRACE_EVENT_SECCOMP (depuis Linux 4.8)" #. commit 93e35efb8de45393cf61ed07f7b407629bf698ea #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Starting with Linux 4.8, the B stop was reordered to " "occur between syscall-entry-stop and syscall-exit-stop. Note that seccomp " "no longer runs (and no B will be reported) if the " "system call is skipped due to B." msgstr "" "À partir de Linux 4.8, l'arrêt B a été réaménagé pour " "intervenir entre l'arrêt-entrée-appel-système et l'arrêt-sortie-appel-" "système. Remarquez que seccomp ne s'exécute plus (et aucun " "B ne sera renvoyé) si l'appel système est sauté du " "fait d'un B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Functionally, a B stop functions comparably to a " "syscall-entry-stop (i.e., continuations using B will cause " "syscall-exit-stops, the system call number may be changed and any other " "modified registers are visible to the to-be-executed system call as well). " "Note that there may be, but need not have been a preceding syscall-entry-" "stop." msgstr "" "Pratiquement, un arrêt B fonctionne comme un arrêt-" "entrée-appel-système (à savoir que les reprises utilisant B " "provoqueront des arrêts-sortie-appel-système, le numéro de l'appel système " "peut être modifié et tous les registres modifiés sont visibles également à " "l'appel système à exécuter). Remarquez qu'il peut y avoir, sans obligation " "qu'il y ait déjà eu, un arrêt-entrée-appel-système précédent." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "After a B stop, seccomp will be rerun, with a " "B rule now functioning the same as a " "B. Specifically, this means that if registers are not " "modified during the B stop, the system call will then " "be allowed." msgstr "" "Après un arrêt B, seccomp sera réexécuté, avec une " "règle B qui fonctionne désormais de la même manière que " "B. En particulier, cela veut dire que si les registres ne " "sont pas modifiés lors d'un arrêt B, l'appel système " "aura alors l'autorisation." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "PTRACE_SINGLESTEP stops" msgstr "Arrêts PTRACE_SINGLESTEP" # #. FIXME . #. document stops occurring with PTRACE_SINGLESTEP #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "[Details of these kinds of stops are yet to be documented.]" msgstr "[Les précisions sur ces types d'arrêts sont encore à documenter.]" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Informational and restarting ptrace commands" msgstr "Commandes ptrace d'information et de redémarrage" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Most ptrace commands (all except B, B, " "B, B, and B) require the " "tracee to be in a ptrace-stop, otherwise they fail with B." msgstr "" "La plupart des commandes ptrace (toutes sauf B, " "B, B, B et B) " "nécessitent que l'observé soit en arrêt-ptrace, sinon il échoue avec " "B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When the tracee is in ptrace-stop, the tracer can read and write data to the " "tracee using informational commands. These commands leave the tracee in " "ptrace-stopped state:" msgstr "" "Quand l'observé est en arrêt-ptrace, l'observateur peut lire et écrire les " "donnés sur l'observé en utilisant les commandes d'information. Ces commandes " "laissent l'observé en état arrêté-ptrace :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "ptrace(PTRACE_PEEKTEXT/PEEKDATA/PEEKUSER, pid, addr, 0);\n" "ptrace(PTRACE_POKETEXT/POKEDATA/POKEUSER, pid, addr, long_val);\n" "ptrace(PTRACE_GETREGS/GETFPREGS, pid, 0, &struct);\n" "ptrace(PTRACE_SETREGS/SETFPREGS, pid, 0, &struct);\n" "ptrace(PTRACE_GETREGSET, pid, NT_foo, &iov);\n" "ptrace(PTRACE_SETREGSET, pid, NT_foo, &iov);\n" "ptrace(PTRACE_GETSIGINFO, pid, 0, &siginfo);\n" "ptrace(PTRACE_SETSIGINFO, pid, 0, &siginfo);\n" "ptrace(PTRACE_GETEVENTMSG, pid, 0, &long_var);\n" "ptrace(PTRACE_SETOPTIONS, pid, 0, PTRACE_O_flags);\n" msgstr "" "ptrace(PTRACE_PEEKTEXT/PEEKDATA/PEEKUSER, pid, addr, 0);\n" "ptrace(PTRACE_POKETEXT/POKEDATA/POKEUSER, pid, addr, long_val);\n" "ptrace(PTRACE_GETREGS/GETFPREGS, pid, 0, &struct);\n" "ptrace(PTRACE_SETREGS/SETFPREGS, pid, 0, &struct);\n" "ptrace(PTRACE_GETREGSET, pid, NT_foo, &iov);\n" "ptrace(PTRACE_SETREGSET, pid, NT_foo, &iov);\n" "ptrace(PTRACE_GETSIGINFO, pid, 0, &siginfo);\n" "ptrace(PTRACE_SETSIGINFO, pid, 0, &siginfo);\n" "ptrace(PTRACE_GETEVENTMSG, pid, 0, &long_var);\n" "ptrace(PTRACE_SETOPTIONS, pid, 0, PTRACE_O_flags);\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Note that some errors are not reported. For example, setting signal " "information (I) may have no effect in some ptrace-stops, yet the " "call may succeed (return 0 and not set I); querying " "B may succeed and return some random value if current " "ptrace-stop is not documented as returning a meaningful event message." msgstr "" "Remarquez que certaines erreurs ne sont pas signalées. Par exemple, la " "configuration d'informations de signal (I) pourrait être sans effet " "pour certains arrêts-ptrace, alors que l'appel pourrait-être réussi (en " "renvoyant B<0> et sans définir I) ; la demande de " "B pourrait réussir et renvoyer une quelconque valeur " "aléatoire si l'arrêt-ptrace actuel n'est pas documenté comme renvoyant un " "message d'événement significatif." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The call" msgstr "L'appel" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ptrace(PTRACE_SETOPTIONS, pid, 0, PTRACE_O_flags);\n" msgstr "ptrace(PTRACE_SETOPTIONS, pid, 0, PTRACE_O_flags);\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "affects one tracee. The tracee's current flags are replaced. Flags are " "inherited by new tracees created and \"auto-attached\" via active " "B, B, or B " "options." msgstr "" "ne concerne qu'un observé. Les attributs actuels de l'observé sont " "remplacés. Les attributs sont hérités par les nouveaux observés créés et " "« attachés automatiquement » à l'aide d'options B, " "B ou B actives." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Another group of commands makes the ptrace-stopped tracee run. They have " "the form:" msgstr "" "Un autre groupe de commandes peut redémarrer l'observé arrêté-ptrace. Ils " "sont de la forme :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ptrace(cmd, pid, 0, sig);\n" msgstr "ptrace(cmd, pid, 0, sig);\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "where I is B, B, B, " "B, B, B, or " "B. If the tracee is in signal-delivery-stop, " "I is the signal to be injected (if it is nonzero). Otherwise, I " "may be ignored. (When restarting a tracee from a ptrace-stop other than " "signal-delivery-stop, recommended practice is to always pass 0 in I.)" msgstr "" "où I est B, B, B, " "B, B, B ou " "B. Si l'observé est en arrêt-distribution-signal, " "I est le signal à injecter (s'il est non nul). Sinon, I pourrait " "être ignoré (lors du redémarrage d'un observé depuis un arrêt-ptrace " "différent d'un arrêt-distribution-signal, il est conseillé de toujours " "passer 0 à I)." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Attaching and detaching" msgstr "Attachement et détachement" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "A thread can be attached to the tracer using the call" msgstr "Un thread peut être attaché à l'observateur en utilisant l'appel" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ptrace(PTRACE_ATTACH, pid, 0, 0);\n" msgstr "ptrace(PTRACE_ATTACH, pid, 0, 0);\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "or" msgstr "ou" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ptrace(PTRACE_SEIZE, pid, 0, PTRACE_O_flags);\n" msgstr "ptrace(PTRACE_SEIZE, pid, 0, PTRACE_O_flags);\n" #. FIXME Describe how to attach to a thread which is already group-stopped. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B sends B to this thread. If the tracer wants this " "B to have no effect, it needs to suppress it. Note that if other " "signals are concurrently sent to this thread during attach, the tracer may " "see the tracee enter signal-delivery-stop with other signal(s) first! The " "usual practice is to reinject these signals until B is seen, then " "suppress B injection. The design bug here is that a ptrace attach " "and a concurrently delivered B may race and the concurrent " "B may be lost." msgstr "" "B envoie aussi B à ce thread. Si l'observateur veut " "que B soit sans effet, il doit le supprimer. Remarquez que si " "d'autres signaux sont envoyés en même temps à ce thread pendant " "l'attachement, l'observateur pourrait voir l'observé entrer en arrêt-" "distribution-signal avec d'autres signaux d'abord ! Ces signaux sont " "d'habitude réinjectés jusqu'à ce que B soit vu, puis l'injection " "B est supprimée. Le bogue de conception ici est qu'un attachement " "ptrace et un B distribués en même temps peuvent entrer en " "compétition et le B risque d'être perdu." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Since attaching sends B and the tracer usually suppresses it, this " "may cause a stray B return from the currently executing system call " "in the tracee, as described in the \"Signal injection and suppression\" " "section." msgstr "" "Puisque l'attachement envoie B et que l'observateur le supprime " "normalement, cela risque de forcer le retour d'un B perdu de l'appel " "système en cours d'exécution dans l'observé, tel que c'est décrit dans la " "section B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Since Linux 3.4, B can be used instead of B. " "B does not stop the attached process. If you need to stop it " "after attach (or at any other time) without sending it any signals, use " "B command." msgstr "" "Depuis Linux 3.4, B peut être utilisé à la place de " "B. B n'arrête pas le processus attaché. Si vous " "devez l'arrêter après attachement (ou à n'importe quel autre moment) sans " "lui envoyer de signal du tout, utilisez la commande B." #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "The operation" msgstr "L'opération" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ptrace(PTRACE_TRACEME, 0, 0, 0);\n" msgstr "ptrace(PTRACE_TRACEME, 0, 0, 0);\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "turns the calling thread into a tracee. The thread continues to run " "(doesn't enter ptrace-stop). A common practice is to follow the " "B with" msgstr "" "transforme le thread appelant en observé. L'appel continue d'être exécuté " "(n'entre pas en arrêt-ptrace). B est habituellement suivi " "avec" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "raise(SIGSTOP);\n" msgstr "raise(SIGSTOP);\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "and allow the parent (which is our tracer now) to observe our signal-" "delivery-stop." msgstr "" "et permet au parent (qui est maintenant l'observateur) de respecter l'arrêt-" "distribution-signal." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the B, B, or " "B options are in effect, then children created by, " "respectively, B(2) or B(2) with the B flag, " "B(2) or B(2) with the exit signal set to B, and " "other kinds of B(2), are automatically attached to the same tracer " "which traced their parent. B is delivered to the children, causing " "them to enter signal-delivery-stop after they exit the system call which " "created them." msgstr "" "Si les options B, B ou " "B font effet, alors les enfants respectivement créés " "par B(2) ou B(2) avec l'attribut B, B(2) ou " "B(2) avec le signal de sortie configuré à B, et d'autres " "sortes de B(2), sont automatiquement attachés au même observateur qui " "à suivi leur parent. B est distribué aux enfants, les forçant à " "entrer en arrêt-distribution-signal après être sortis de l'appel système " "qu'ils ont créé." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Detaching of the tracee is performed by:" msgstr "Le détachement de l'observé est réalisé par :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ptrace(PTRACE_DETACH, pid, 0, sig);\n" msgstr "ptrace(PTRACE_DETACH, pid, 0, sig);\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B is a restarting operation; therefore it requires the tracee " "to be in ptrace-stop. If the tracee is in signal-delivery-stop, a signal " "can be injected. Otherwise, the I parameter may be silently ignored." msgstr "" "B est une opération de redémarrage ; par conséquent elle " "nécessite que l'observé soit en arrêt-ptrace. Si l'observé est en arrêt-" "distribution-signal, un signal peut être injecté. Sinon, le paramètre I " "pourrait être silencieusement ignoré." #. FIXME Describe how to detach from a group-stopped tracee so that it #. doesn't run, but continues to wait for SIGCONT. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the tracee is running when the tracer wants to detach it, the usual " "solution is to send B (using B(2), to make sure it goes to " "the correct thread), wait for the tracee to stop in signal-delivery-stop for " "B and then detach it (suppressing B injection). A design " "bug is that this can race with concurrent Bs. Another complication " "is that the tracee may enter other ptrace-stops and needs to be restarted " "and waited for again, until B is seen. Yet another complication is " "to be sure that the tracee is not already ptrace-stopped, because no signal " "delivery happens while it is\\[em]not even B." msgstr "" "Si l'observé est en cours d'exécution quand l'observateur veut le détacher, " "la solution habituelle est d'envoyer B (en utilisant B(2), " "pour s'assurer qu'il va au bon thread), d'attendre que l'observé s'arrête en " "arrêt-distribution-signal pour B et ensuite de le détacher (en " "supprimant l'injection B). Un bogue de conception est que l'observé " "pourrait entrer dans d'autres arrêts-ptrace et avoir besoin d'être redémarré " "et attendre encore, jusqu'à ce que B soit vu. Encore une autre " "complication est de s'assurer que l'observé n'est pas déjà arrêté-ptrace, " "parce qu'aucune distribution de signal n'arrive tant qu'il l'est — pas même " "B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the tracer dies, all tracees are automatically detached and restarted, " "unless they were in group-stop. Handling of restart from group-stop is " "currently buggy, but the \"as planned\" behavior is to leave tracee stopped " "and waiting for B. If the tracee is restarted from signal-delivery-" "stop, the pending signal is injected." msgstr "" "Si l'observateur meurt, tous les observés sont automatiquement détachés et " "redémarrés, sauf s'il étaient en arrêt-groupe. Le gestion de redémarrage " "depuis un arrêt-groupe est en ce moment dysfonctionnelle, mais le " "comportement « prévu » est de laisser les observés arrêtés et d'attendre un " "B. Si l'observé est redémarré depuis un arrêt-distribution-signal, " "le signal en attente est injecté." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "execve(2) under ptrace" msgstr "execve(2) sous ptrace" # #. clone(2) CLONE_THREAD says: #. If any of the threads in a thread group performs an execve(2), #. then all threads other than the thread group leader are terminated, #. and the new program is executed in the thread group leader. #. In Linux 3.1 sources, see fs/exec.c::de_thread() #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When one thread in a multithreaded process calls B(2), the kernel " "destroys all other threads in the process, and resets the thread ID of the " "execing thread to the thread group ID (process ID). (Or, to put things " "another way, when a multithreaded process does an B(2), at " "completion of the call, it appears as though the B(2) occurred in " "the thread group leader, regardless of which thread did the B(2).) " "This resetting of the thread ID looks very confusing to tracers:" msgstr "" "Quand un thread de processus multithreadé appelle B(2), le noyau " "détruit tous les autres threads du processus, et réinitialise l'identifiant " "de thread du thread exécuté à l'identifiant de groupe de threads (PID) (ou, " "pour le présenter autrement, quand un processus multithreadé fait un " "B(2), à la fin de l'appel, il apparaît comme si l'B(2) " "s'était appliqué au leader de groupe de threads, quelque soit le thread qui " "a fait B(2)). Cette réinitialisation de l'identifiant de thread " "semble est très déroutante pour les observateurs." #. 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 "" "All other threads stop in B stop, if the " "B option was turned on. Then all other threads except " "the thread group leader report death as if they exited via B<_exit>(2) with " "exit code 0." msgstr "" "Tous les autres threads s'arrêtent en arrêt B, si " "l'option B était activée. Alors tous les autres threads " "sauf le leader de groupe de threads signalent leur mort comme s'il s'étaient " "terminés par l'intermédiaire de B<_exit>(2) avec un code de retour B<0>." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The execing tracee changes its thread ID while it is in the B(2). " "(Remember, under ptrace, the \"pid\" returned from B(2), or fed " "into ptrace calls, is the tracee's thread ID.) That is, the tracee's thread " "ID is reset to be the same as its process ID, which is the same as the " "thread group leader's thread ID." msgstr "" "L'observé en cours d'exécution modifie son identifiant de thread pendant " "qu'il est dans l'B(2) (rappelez-vous que, sous ptrace, le « pid » " "renvoyé par B(2) ou fourni dans les appels ptrace, est " "l'identifiant de thread de l'observé). Ainsi, l'identifiant de thread de " "l'observé est réinitialisé pour être le même que son identifiant de " "processus (PID), qui est le même que l'identifiant de thread du leader de " "groupe de threads." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Then a B stop happens, if the B " "option was turned on." msgstr "" "Ensuite un arrêt B arrive, si l'option " "B était activée." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the thread group leader has reported its B stop by " "this time, it appears to the tracer that the dead thread leader \"reappears " "from nowhere\". (Note: the thread group leader does not report death via " "I until there is at least one other live thread. This " "eliminates the possibility that the tracer will see it dying and then " "reappearing.) If the thread group leader was still alive, for the tracer " "this may look as if thread group leader returns from a different system call " "than it entered, or even \"returned from a system call even though it was " "not in any system call\". If the thread group leader was not traced (or was " "traced by a different tracer), then during B(2) it will appear as " "if it has become a tracee of the tracer of the execing tracee." msgstr "" "Si le leader de groupe de threads a signalé son arrêt B " "pendant ce temps, le leader de thread mort à l'air de « revenir de nulle " "part » du point de vue de l'observateur (remarque : le leader de groupe de " "threads ne signale pas sa mort à l'aide de I tant qu'au " "moins un autre thread est en vie. Cela enlève la possibilité à l'observateur " "de le voir mourir puis réapparaître). Si le leader de groupe de threads " "était encore en vie, cela pourrait être vu par l'observateur comme si le " "leader de groupe revenait d'un autre appel système que celui dans lequel il " "était entré, ou même « revenait d'un appel système même s'il n'y avait pas " "d'appel système ». Si le leader de groupe de threads n'était pas suivi (ou " "était suivi par un autre observateur), alors pendant B(2) il " "apparaîtra comme s'il était devenu un observé de l'observateur de l'observé " "en cours d'exécution." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "All of the above effects are the artifacts of the thread ID change in the " "tracee." msgstr "" "Tous les effets précédents sont des artifices de la modification " "d'identifiant de thread de l'observé." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B option is the recommended tool for dealing with " "this situation. First, it enables B stop, which occurs " "before B(2) returns. In this stop, the tracer can use " "B to retrieve the tracee's former thread ID. (This " "feature was introduced in Linux 3.0.) Second, the B " "option disables legacy B generation on B(2)." msgstr "" "L'option B est l'outil conseillé pour s'occuper de cette " "situation. D'abord, elle active l'arrêt B, qui arrive " "avant le retour d'B(2). Dans cet arrêt, l'observateur peut utiliser " "B pour récupérer l'ancien identifiant de thread de " "l'observé (cette fonctionnalité a été introduite avec Linux 3.0). Ensuite, " "l'option B désactive la création obsolète de B " "dans B(2)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When the tracer receives B stop notification, it is " "guaranteed that except this tracee and the thread group leader, no other " "threads from the process are alive." msgstr "" "Quand l'observé reçoit une notification d'arrêt B, il est " "garanti qu'à part cet observé et le leader de groupe de threads, aucun autre " "thread du processus n'est en vie." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On receiving the B stop notification, the tracer should " "clean up all its internal data structures describing the threads of this " "process, and retain only one data structure\\[em]one which describes the " "single still running tracee, with" msgstr "" "Lors de la réception d'une notification d'arrêt B, " "l'observateur devrait nettoyer toutes ses structures de données internes " "décrivant les threads de ce processus et ne garder qu'une seule structure de " "données — celle qui décrit l'unique observé en cours d'exécution, avec" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "thread ID == thread group ID == process ID.\n" msgstr "identifiant de thread == identifiant de groupe de threads == identifiant de processus.\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Example: two threads call B(2) at the same time:" msgstr "" "Par exemple, soient deux threads qui appellent B(2) en même temps :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "*** we get syscall-enter-stop in thread 1: **\n" "PID1 execve(\"/bin/foo\", \"foo\" Eunfinished ...E\n" "*** we issue PTRACE_SYSCALL for thread 1 **\n" "*** we get syscall-enter-stop in thread 2: **\n" "PID2 execve(\"/bin/bar\", \"bar\" Eunfinished ...E\n" "*** we issue PTRACE_SYSCALL for thread 2 **\n" "*** we get PTRACE_EVENT_EXEC for PID0, we issue PTRACE_SYSCALL **\n" "*** we get syscall-exit-stop for PID0: **\n" "PID0 E... execve resumedE ) = 0\n" msgstr "" "*** arrêt-entrée-appel-système obtenu dans le thread 1 : **\n" "PID1 execve(\"/bin/truc\", \"truc\" Epas terminé…E\n" "*** PTRACE_SYSCALL émis pour le thread 1 **\n" "*** arrêt-entrée-appel-système obtenu dans le thread 2 : **\n" "PID2 execve(\"/bin/bidule\", \"bidule\" Epas terminé…E\n" "*** PTRACE_SYSCALL émis pour le thread 2 **\n" "*** PTRACE_EVENT_EXEC obtenu pour PID0, PTRACE_SYSCALL émis **\n" "*** arrêt-sortie-appel-système obtenu pour PID0 : **\n" "PID0 E… retour d'execveE ) = 0\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the B option is I in effect for the execing " "tracee, and if the tracee was Bed rather that " "Bd, the kernel delivers an extra B to the tracee " "after B(2) returns. This is an ordinary signal (similar to one " "which can be generated by I), not a special kind of ptrace-" "stop. Employing B for this signal returns I set " "to 0 (I). This signal may be blocked by signal mask, and thus may " "be delivered (much) later." msgstr "" "Si l'option B n'est I effective pour l'observé en " "cours d'exécution et si l'observé a été Bé et non " "Bé, le noyau distribue un B supplémentaire à " "l'observé après le retour d'B(2). C'est un signal normal (similaire " "à celui qui peut être créé par I), pas une sorte spéciale " "d'arrêt-ptrace. L'utilisation de B pour ce signal renvoie " "I configuré à B<0> (I). Ce signal pourrait être bloqué par " "un masque de signal et pourrait ainsi être distribué (bien) plus tard." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Usually, the tracer (for example, B(1)) would not want to show this " "extra post-execve B signal to the user, and would suppress its " "delivery to the tracee (if B is set to B, it is a killing " "signal). However, determining I B to suppress is not easy. " "Setting the B option or using B and thus " "suppressing this extra B is the recommended approach." msgstr "" "Normalement, l'observateur (par exemple B(1)) ne voudrait pas " "montrer ce signal B supplémentaire postérieur à B à " "l'utilisateur, et voudrait supprimer sa distribution à l'observé (si " "B est configuré à B, c'est un signal tueur). Cependant, " "déterminer I est le B à supprimer n'est pas simple. La " "configuration de l'option B ou l'utilisation de " "B et par conséquent la suppression du B " "supplémentaire est l'approche conseillée." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Real parent" msgstr "Vrai parent" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The ptrace API (ab)uses the standard UNIX parent/child signaling over " "B(2). This used to cause the real parent of the process to stop " "receiving several kinds of B(2) notifications when the child " "process is traced by some other process." msgstr "" "L'interface de programmation de ptrace utilise (parfois mal) la norme UNIX " "de signalement de parent ou enfant par l'intermédiaire de B(2). " "Cela a régulièrement forcé le vrai parent du processus à arrêter de recevoir " "plusieurs sortes de notifications de B(2) quand le processus enfant " "est suivi par un autre processus." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Many of these bugs have been fixed, but as of Linux 2.6.38 several still " "exist; see BUGS below." msgstr "" "De nombreux bogues de ce type ont été corrigés, mais il en reste encore " "beaucoup dans Linux 2.6.38. Consultez la section B ci dessous." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "As of Linux 2.6.38, the following is believed to work correctly:" msgstr "Depuis Linux 2.6.38, ce qui suit est censé fonctionner correctement :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "exit/death by signal is reported first to the tracer, then, when the tracer " "consumes the B(2) result, to the real parent (to the real parent " "only when the whole multithreaded process exits). If the tracer and the " "real parent are the same process, the report is sent only once." msgstr "" "l'exécution ou la mort par signal sont d'abord signalées à l'observateur, " "puis, quand l'observateur consomme le résultat de B(2), au vrai " "parent (au vrai parent seulement quand l'intégralité du processus " "multithreadé se termine). Si l'observateur et le vrai parent sont le même " "processus, le signalement n'est envoyé qu'une fois." #. 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-unstable fedora-rawhide opensuse-tumbleweed msgid "" "On success, the B operations return the requested data (but " "see NOTES), the B operation returns the number of " "instructions in the BPF program, the B operation " "returns the number of bytes available to be written by the kernel, and other " "operations return zero." msgstr "" "En cas de succès, l'opération B renvoie les données demandées " "(mais consultez les NOTES), l'opération B renvoie " "le nombre d'instructions du programme BPF, l'opération " "B renvoie le nombre d'octets disponibles disponible " "pour être écrits par le noyau, alors que les autres opérations renvoient " "zéro." #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "On error, all operations return -1, and I is set to indicate the " "error. Since the value returned by a successful B operation " "may be -1, the caller must clear I before the call, and then check it " "afterward to determine whether or not an error occurred." msgstr "" "En cas d'erreur, toutes les opérations renvoient B<-1> et I est " "défini pour indiquer l'erreur. Comme la valeur renvoyée par une opération " "B peut légitimement être B<-1>, l'appelant doit effacer " "I avant l'appel, et ensuite le vérifier pour savoir si une erreur " "s'est produite." #. 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: 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 "" "(i386 only) There was an error with allocating or freeing a debug register." msgstr "" "(i386 seulement) Une erreur est survenue lors de l'allocation ou de la " "libération d'un registre de débogage." #. 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 "" "There was an attempt to read from or write to an invalid area in the " "tracer's or the tracee's memory, probably because the area wasn't mapped or " "accessible. Unfortunately, under Linux, different variations of this fault " "will return B or B more or less arbitrarily." msgstr "" "Tentative de lire ou écrire dans une zone mémoire non valable de " "l'observateur ou de l'observé, probablement parce que la zone n'était pas " "projetée ou accessible. Malheureusement sous Linux, certaines variantes de " "cette erreur déclencheront B ou B plus ou moins arbitrairement." #. 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 "An attempt was made to set an invalid option." msgstr "Tentative d'utiliser une option non valable." #. 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-unstable fedora-rawhide opensuse-tumbleweed msgid "" "I is invalid, or an attempt was made to read from or write to an invalid " "area in the tracer's or the tracee's memory, or there was a word-alignment " "violation, or an invalid signal was specified during a restart operation." msgstr "" "L'opération I n'est pas valable ou une tentative de lecture ou " "d'écriture dans une zone non valable de mémoire de l'observateur ou de " "l'observé a eu lieu. Un problème d'alignement a aussi pu survenir sur une " "frontière de mot, ou un signal non valable a été spécifié pendant une " "opération de redémarrage." #. 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 specified process cannot be traced. This could be because the tracer " "has insufficient privileges (the required capability is B); " "unprivileged processes cannot trace processes that they cannot send signals " "to or those running set-user-ID/set-group-ID programs, for obvious reasons. " "Alternatively, the process may already be being traced, or (before Linux " "2.6.26) be B(1) (PID 1)." msgstr "" "Le processus indiqué ne peut pas être suivi. Cela peut être dû à un manque " "de privilège de l'observateur (la capacité nécessaire est " "B). Les processus non privilégiés ne peuvent pas suivre les " "processus auxquels ils ne peuvent envoyer de signal, ou ceux qui s'exécutent " "Set-UID/Set-GID, pour des raisons évidentes. En outre, le processus visé " "peut être déjà suivi, ou (avant Linux 2.6.26) être B(8) (le processus " "numéro 1)." #. 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-unstable fedora-rawhide opensuse-tumbleweed msgid "" "The specified process does not exist, or is not currently being traced by " "the caller, or is not stopped (for operations that require a stopped tracee)." msgstr "" "Le processus indiqué n'existe pas, ou n'est pas suivi par l'appelant, ou " "n'est pas arrêté (pour les opérations qui ont besoin d'un observé arrêté)." #. 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 "None." msgstr "Aucun." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HISTORY" msgstr "HISTORIQUE" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "SVr4, 4.3BSD." msgstr "SVr4, 4.3BSD." #. See commit 00cd5c37afd5f431ac186dd131705048c0a11fdb #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Before Linux 2.6.26, B(1), the process with PID 1, may not be traced." msgstr "" "Avant Linux 2.6.26, B(8), le processus numéro 1, ne peut pas être " "suivi." #. 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-unstable fedora-rawhide opensuse-tumbleweed msgid "" "Although arguments to B() are interpreted according to the " "prototype given, glibc currently declares B() as a variadic " "function with only the I argument fixed. It is recommended to always " "supply four arguments, even if the requested operation does not use them, " "setting unused/ignored arguments to I<0L> or I<(void\\ *)\\ 0>." msgstr "" "Bien que les arguments de B() soient interprétés comme dans le " "prototype donné, la bibliothèque glibc déclare B comme une fonction " "variadique où seul l'argument I est corrigé. Il vaut mieux toujours " "fournir quatre arguments, même si l'opération demandée ne les utilise pas, " "en configurant les arguments non utilisés ou ignorés à I<0L> ou I<(void\\ " "*)\\ 0>." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A tracees parent continues to be the tracer even if that tracer calls " "B(2)." msgstr "Le parent d'observés reste observateur même s'il appelle B(2)." #. See http://lkml.org/lkml/2008/5/8/375 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The layout of the contents of memory and the USER area are quite operating-" "system- and architecture-specific. The offset supplied, and the data " "returned, might not entirely match with the definition of I." msgstr "" "La disposition du contenu de la mémoire et de la zone USER dépendent du " "système d'exploitation et de l'architecture. Le décalage fourni et les " "données renvoyées peuvent ne pas correspondre entièrement avec la définition " "d'une structure I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The size of a \"word\" is determined by the operating-system variant (e.g., " "for 32-bit Linux it is 32 bits)." msgstr "" "La taille d'un mot («\\ word\\ ») est déterminée par la version du système " "d'exploitation (par exemple 32 bits pour Linux 32 bits)." #. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This page documents the way the B() call works currently in Linux. " "Its behavior differs significantly on other flavors of UNIX. In any case, " "use of B() is highly specific to the operating system and " "architecture." msgstr "" "Cette page documente le fonctionnement actuel de B() sous Linux. " "Celui-ci peut varier significativement d'autres types d'UNIX. De toute " "façon, l'utilisation de B() dépend fortement de l'architecture et du " "système d'exploitation." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Ptrace access mode checking" msgstr "Vérification du mode d'accès ptrace" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Various parts of the kernel-user-space API (not just B() " "operations), require so-called \"ptrace access mode\" checks, whose outcome " "determines whether an operation is permitted (or, in a few cases, causes a " "\"read\" operation to return sanitized data). These checks are performed in " "cases where one process can inspect sensitive information about, or in some " "cases modify the state of, another process. The checks are based on factors " "such as the credentials and capabilities of the two processes, whether or " "not the \"target\" process is dumpable, and the results of checks performed " "by any enabled Linux Security Module (LSM)\\[em]for example, SELinux, Yama, " "or Smack\\[em]and by the commoncap LSM (which is always invoked)." msgstr "" "Divers endroits de l'API de l'espace utilisateur du noyau (pas seulement les " "opérations B()) exigent ce qu'on appelle des « vérifications de mode " "d'accès ptrace », dont le résultat détermine si une opération est autorisée " "(ou, dans certains cas, fait renvoyer à l'opération « read » des données " "nettoyées). Ces vérifications sont effectuées dans les cas où un processus " "peut accéder à des informations sensibles concernant un autre processus ou " "modifier son état. Les vérifications s'opèrent sur la base de facteurs tels " "que les droits et les capacités des deux processus, le fait que le processus " "« cible » puisse générer un fichier core, et des résultats des vérifications " "effectuées par un module de sécurité Linux activé (LSM) (par exemple " "SELinux, Yama ou Smack) et par le LSM commoncap (qui est toujours appelé)." #. commit 006ebb40d3d65338bd74abb03b945f8d60e362bd #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Prior to Linux 2.6.27, all access checks were of a single type. Since Linux " "2.6.27, two access mode levels are distinguished:" msgstr "" "Avant Linux 2.6.27, toutes les vérifications d'accès étaient d'un seul type. " "Depuis Linux 2.6.27, on distingue deux niveaux de modes d'accès :" #. 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 "" "For \"read\" operations or other operations that are less dangerous, such " "as: B(2); B(2); reading IpidI, IpidI, or IpidI; or B(2) of a IpidI file." msgstr "" "Pour les opérations « read » ou d'autres moins dangereuses telles que : " "B(2) ; B(2) ; la lecture de IpidI, IpidI ou de IpidI ; ou le B(2) d'un " "fichier IpidI." #. 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" # # #. Regarding the above description of the distinction between #. PTRACE_MODE_READ and PTRACE_MODE_ATTACH, Stephen Smalley notes: #. That was the intent when the distinction was introduced, but it doesn't #. appear to have been properly maintained, e.g. there is now a common #. helper lock_trace() that is used for #. /proc/pid/{stack,syscall,personality} but checks PTRACE_MODE_ATTACH, and #. PTRACE_MODE_ATTACH is also used in timerslack_ns_write/show(). Likely #. should review and make them consistent. There was also some debate #. about proper handling of /proc/pid/fd. Arguably that one might belong #. back in the _ATTACH camp. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For \"write\" operations, or other operations that are more dangerous, such " "as: ptrace attaching (B) to another process or calling " "B(2). (B was effectively the default " "before Linux 2.6.27.)" msgstr "" "Pour les opérations « write » ou d'autres plus dangereuses telles que : le " "rattachement de ptrace (B) à un autre processus ou un appel " "B(2) (B était celui par défaut avant " "Linux 2.6.27)." #. commit caaee6234d05a58c5b4d05e7bf766131b810a657 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Since Linux 4.5, the above access mode checks are combined (ORed) with one " "of the following modifiers:" msgstr "" "Depuis Linux 4.5, les vérifications de mode d'accès ci-dessus sont combinées " "(opération OU) avec un ou plusieurs des modificateurs suivants :" #. 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 "" "Use the caller's filesystem UID and GID (see B(7)) or " "effective capabilities for LSM checks." msgstr "" "Utiliser l'identifiant de groupe ou d’utilisateur du système de fichiers de " "l'appelant (voir B(7)) ou les capacités effectives pour les " "vérifications LSM." #. 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 "" "Use the caller's real UID and GID or permitted capabilities for LSM checks. " "This was effectively the default before Linux 4.5." msgstr "" "Utiliser l'identifiant de groupe ou d’utilisateur réel de l'appelant ou les " "capacités autorisées pour les vérifications LSM. C'était l'action par défaut " "avant Linux 4.5." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Because combining one of the credential modifiers with one of the " "aforementioned access modes is typical, some macros are defined in the " "kernel sources for the combinations:" msgstr "" "La combinaison d'un des modificateurs de droits avec un des modes d'accès ci-" "dessus étant classique, certaines macros sont définies dans les sources du " "noyau pour les combinaisons :" #. 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 "Defined as B." msgstr "Définie en tant que 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 "Defined as B." msgstr "Définie en tant que 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 "Defined as B." msgstr "Définie en tant que 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 "Defined as B." msgstr "Définie en tant que B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "One further modifier can be ORed with the access mode:" msgstr "" "Un modificateur supplémentaire peut être lié (opération OU) au mode d'accès :" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 3.3)" msgstr "B (depuis Linux 3.3)" #. commit 69f594a38967f4540ce7a29b3fd214e68a8330bd #. Just for /proc/pid/stat #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Don't audit this access mode check. This modifier is employed for ptrace " "access mode checks (such as checks when reading IpidI) that " "merely cause the output to be filtered or sanitized, rather than causing an " "error to be returned to the caller. In these cases, accessing the file is " "not a security violation and there is no reason to generate a security audit " "record. This modifier suppresses the generation of such an audit record for " "the particular access check." msgstr "" "Ne pas effectuer la vérification de ce mode d'accès. Ce modificateur est " "utilisé pour les vérifications de mode d'accès ptrace (telles que celles " "faites lors de la lecture de IpidI) qui filtrent ou nettoient " "la sortie au lieu de renvoyer une erreur à l'appelant. Dans ces cas, l'accès " "au fichier n'est pas une violation de sécurité et il n'y aucune raison de " "générer un enregistrement de l'évaluation de la sécurité. Ce modificateur " "supprime la génération d'un tel enregistrement pour cette vérification " "d'accès particulière." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Note that all of the B constants described in this subsection " "are kernel-internal, and not visible to user space. The constant names are " "mentioned here in order to label the various kinds of ptrace access mode " "checks that are performed for various system calls and accesses to various " "pseudofiles (e.g., under I). These names are used in other manual " "pages to provide a simple shorthand for labeling the different kernel checks." msgstr "" "Remarquez que toutes les constantes B décrites dans cette " "sous-section sont internes au noyau et invisibles à l'espace utilisateur. Le " "nom des constantes est mentionné ici pour identifier les différents types de " "vérification des modes d'accès ptrace effectuées pour divers appels système " "et divers accès à des pseudofichiers (comme dans I). Ces noms sont " "utilisés dans d'autres pages de manuel pour fournir un raccourci simple " "d'identification des vérifications du noyau." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The algorithm employed for ptrace access mode checking determines whether " "the calling process is allowed to perform the corresponding action on the " "target process. (In the case of opening Ipid files, the \"calling " "process\" is the one opening the file, and the process with the " "corresponding PID is the \"target process\".) The algorithm is as follows:" msgstr "" "L'algorithme utilisé pour la vérification des modes d'accès ptrace détermine " "si le processus appelant est autorisé à effectuer l'action correspondante " "sur le processus cible (pour l'ouverture des fichiers Ipid, le " "« processus appelant » est celui qui ouvre le fichier et le processus dont " "le PID correspond est le « processus cible »). L’algorithme est comme suit :" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "(1)" msgstr "(1)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the calling thread and the target thread are in the same thread group, " "access is always allowed." msgstr "" "Si le thread appelant et cible sont dans le même groupe de threads, l'accès " "est toujours autorisé." #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "(2)" msgstr "(2)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the access mode specifies B, then, for the check in " "the next step, employ the caller's filesystem UID and GID. (As noted in " "B(7), the filesystem UID and GID almost always have the same " "values as the corresponding effective IDs.)" msgstr "" "Si le mode d'accès indique B, lors de la vérification " "de la prochaine étape, utiliser l'identifiant d'utilisateur et de groupe du " "système de fichiers appelant (comme indiqué dans B(7), les " "identifiants d'utilisateur et de groupe du système de fichiers ont presque " "toujours la même valeur que les identifiants effectifs correspondant)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Otherwise, the access mode specifies B, so use the " "caller's real UID and GID for the checks in the next step. (Most APIs that " "check the caller's UID and GID use the effective IDs. For historical " "reasons, the B check uses the real IDs instead.)" msgstr "" "Sinon le mode d'accès indique B, donc utiliser " "l'identifiant d'utilisateur et de groupe réels de l'appelant lors des " "vérifications de la prochaine étape (la plupart des API qui vérifient les " "identifiants d’utilisateur et de groupe utilisent les identifiants " "effectifs. Pour des raisons historiques, la vérification " "B utilise plutôt ceux réels)." #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "(3)" msgstr "(3)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Deny access if I of the following is true:" msgstr "Interdire l'accès si I de ce qui suit n'est vrai :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The real, effective, and saved-set user IDs of the target match the caller's " "user ID, I the real, effective, and saved-set group IDs of the target " "match the caller's group ID." msgstr "" "Les identifiants utilisateur réel, effectif et défini de la cible " "correspondent à l'identifiant utilisateur de l'appelant I les " "identifiants réels, effectifs et définis de groupe de la cible correspondent " "à ceux de groupe de l'appelant." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The caller has the B capability in the user namespace of the " "target." msgstr "" "L'appelant a la capacité B dans l'espace de noms utilisateur " "de la cible." #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "(4)" msgstr "(4)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Deny access if the target process \"dumpable\" attribute has a value other " "than 1 (B; see the discussion of B in " "B(2)), and the caller does not have the B capability " "in the user namespace of the target process." msgstr "" "Interdire l'accès si l'attribut « dumpable » du processus cible a une autre " "valeur que B<1> (B ; voir le point sur B " "dans B(2)) et l'appelant n'a pas la capacité B dans " "l'espace de noms de l'utilisateur du processus cible." #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "(5)" msgstr "(5)" #. (in cap_ptrace_access_check()): #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The kernel LSM I() interface is invoked to " "see if ptrace access is permitted. The results depend on the LSM(s). The " "implementation of this interface in the commoncap LSM performs the following " "steps:" msgstr "" "L'interface I() du LSM du noyau est appelée " "pour voir si l'accès ptrace est autorisé. Le résultat dépend des LSM. " "L'implémentation de cette interface dans le LSM commoncap suit les étapes " "suivantes :" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "(5.1)" msgstr "(5.1)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the access mode includes B, then use the caller's " "I capability set in the following check; otherwise (the access " "mode specifies B, so) use the caller's I " "capability set." msgstr "" "Si le mode d'accès comprend B, utiliser l’ensemble des " "capacités I de l'appelant dans la prochaine vérification ; sinon " "(si le mode d'accès indique B), utiliser l’ensemble " "des capacités I de l'appelant." #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "(5.2)" msgstr "(5.2)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The caller and the target process are in the same user namespace, and the " "caller's capabilities are a superset of the target process's I " "capabilities." msgstr "" "Les processus appelant et cible sont dans le même espace de noms utilisateur " "et les capacités de l'appelant sont un surensemble des capacités " "I du processus cible." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The caller has the B capability in the target process's user " "namespace." msgstr "" "L'appelant a la capacité B dans l'espace de noms utilisateur " "du processus cible." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Note that the commoncap LSM does not distinguish between B " "and B." msgstr "" "Remarquez que le LSM commoncap ne fait pas de différence entre " "B et B." #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "(6)" msgstr "(6)" # #. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If access has not been denied by any of the preceding steps, then access is " "allowed." msgstr "" "Si l'accès n'a pas été interdit par une étape précédente, il est autorisé." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "/proc/sys/kernel/yama/ptrace_scope" msgstr "/proc/sys/kernel/yama/ptrace_scope" #. commit 2d514487faf188938a4ee4fb3464eeecfbdcf8eb #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On systems with the Yama Linux Security Module (LSM) installed (i.e., the " "kernel was configured with B), the I file (available since Linux 3.4) can be used to restrict " "the ability to trace a process with B() (and thus also the ability " "to use tools such as B(1) and B(1)). The goal of such " "restrictions is to prevent attack escalation whereby a compromised process " "can ptrace-attach to other sensitive processes (e.g., a GPG agent or an SSH " "session) owned by the user in order to gain additional credentials that may " "exist in memory and thus expand the scope of the attack." msgstr "" "Sur des systèmes ayant un Yama Linux Security Module (LSM) installé (donc si " "le noyau a été configuré avec B), le fichier I (disponible depuis Linux 3.4) peut être " "utilisé pour restreindre la possibilité d'observer un processus avec " "B() (et ainsi, celle d'utiliser des outils tels que B(1) et " "B(1)). Le but de telles restrictions est d'empêcher des attaques en " "cascade par lesquelles un processus infecté peut s'attacher avec un ptrace à " "d'autres processus sensibles (comme un agent GPG ou une session SSH) " "appartenant à l'utilisateur, afin d'obtenir d'autres droits qui pourraient " "exister en mémoire et ainsi, élargir l'objectif de l'attaque." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "More precisely, the Yama LSM limits two types of operations:" msgstr "Plus précisément, le Yama LSM limite deux types d'opérations :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Any operation that performs a ptrace access mode B " "check\\[em]for example, B() B. (See the \"Ptrace " "access mode checking\" discussion above.)" msgstr "" "Toute opération qui effectue une vérification B de mode " "d'accès (par exemple, B de B(), voir le point sur les " "« vérifications de mode d'accès ptrace » ci-dessus)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B() B." msgstr "B B()." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A process that has the B capability can update the I file with one of the following values:" msgstr "" "Un processus ayant la capacité B peut mettre à jour le " "fichier I avec une ou plusieurs des " "valeurs suivantes :" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "0 (\"classic ptrace permissions\")" msgstr "B<0> (droits ptrace « classiques »)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "No additional restrictions on operations that perform B " "checks (beyond those imposed by the commoncap and other LSMs)." msgstr "" "Aucune restriction supplémentaire sur les opérations qui effectuent des " "vérifications B (au-delà de celles imposées par le LSM " "commoncap et les autres)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The use of B is unchanged." msgstr "L'utilisation de B ne change pas." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "1 (\"restricted ptrace\") [default value]" msgstr "B<1> (« ptrace restreint » (valeur par défaut)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When performing an operation that requires a B check, " "the calling process must either have the B capability in the " "user namespace of the target process or it must have a predefined " "relationship with the target process. By default, the predefined " "relationship is that the target process must be a descendant of the caller." msgstr "" "Lors d'une opération qui exige une vérification B, le " "processus appelant doit avoir soit la capacité B dans " "l'espace de noms utilisateur du processus cible, soit une relation " "prédéfinie avec le processus cible. Par défaut, la relation prédéfinie est " "que le processus cible doit être un descendant de l'appelant." #. commit 90bb766440f2147486a2acc3e793d7b8348b0c22 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A target process can employ the B(2) B operation to " "declare an additional PID that is allowed to perform B " "operations on the target. See the kernel source file I (or I before Linux " "4.13) for further details." msgstr "" "Un processus cible peut utiliser l'opération B de " "B(2) pour déclarer un PID supplémentaire autorisé à effectuer des " "opérations B sur la cible. Voir le fichier " "I des sources du noyau (ou " "I avant Linux 4.13) pour plus de détails." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "2 (\"admin-only attach\")" msgstr "B<2> (attachement « admin-only »)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Only processes with the B capability in the user namespace " "of the target process may perform B operations or trace " "children that employ B." msgstr "" "Seuls les processus ayant la capacité B dans l'espace de " "noms de l'utilisateur du processus cible peuvent effectuer des opérations " "B ou observer les enfants qui utilisent " "B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "3 (\"no attach\")" msgstr "B<3> (« pas d'attachement »)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "No process may perform B operations or trace children " "that employ B." msgstr "" "Aucun processus ne peut effectuer d'opération B ou " "observer les enfants qui utilisent B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Once this value has been written to the file, it cannot be changed." msgstr "" "Une fois que cette valeur a été écrite dans le fichier, elle ne peut pas " "être modifiée." # #. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "With respect to values 1 and 2, note that creating a new user namespace " "effectively removes the protection offered by Yama. This is because a " "process in the parent user namespace whose effective UID matches the UID of " "the creator of a child namespace has all capabilities (including " "B) when performing operations within the child user " "namespace (and further-removed descendants of that namespace). " "Consequently, when a process tries to use user namespaces to sandbox itself, " "it inadvertently weakens the protections offered by the Yama LSM." msgstr "" "Par rapport aux valeurs B<1> et B<2>, remarquez que la création d'un nouvel " "espace de noms utilisateur supprime de fait la protection apportée par Yama. " "Cela parce qu'un processus dans l'espace de noms de l'utilisateur parent " "dont l'identifiant utilisateur effectif correspond à celui de l'espace de " "noms enfant a toutes les capacités (y compris B) lorsqu'il " "effectue des opérations dans l'espace de noms utilisateur de l'enfant (et " "les descendants supprimés plus tard de cet espace de noms). Par conséquent, " "quand un processus essaie d'utiliser les espaces de noms utilisateur pour " "s'isoler lui-même, il affaiblit à son insu les protections apportées par le " "Yama LSM." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "C library/kernel differences" msgstr "Différences entre bibliothèque C et noyau" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "At the system call level, the B, B, and " "B operations have a different API: they store the result at " "the address specified by the I parameter, and the return value is the " "error flag. The glibc wrapper function provides the API given in " "DESCRIPTION above, with the result being returned via the function return " "value." msgstr "" "L'interface de programmation de l'appel système est différente pour les " "opérations B, B et B : " "elles stockent le résultat à l’adresse indiquée par le paramètre I, et " "la valeur de retour est l’attribut d’erreur. La fonction glibc encapsulant " "cet appel fournit une interface détaillée dans la section B ci-" "dessus, et le résultat qu'elle renvoie est le résultat de l'appel système." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BUGS" msgstr "BOGUES" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On hosts with Linux 2.6 kernel headers, B is declared " "with a different value than the one for Linux 2.4. This leads to " "applications compiled with Linux 2.6 kernel headers failing when run on " "Linux 2.4. This can be worked around by redefining B to " "B, if that is defined." msgstr "" "Sur les machines ayant des en-têtes du noyau Linux 2.6, B " "est déclaré avec une valeur différente de celle de Linux 2.4. De ce fait, " "les applications compilées avec des en-têtes du noyau Linux 2.6 ne peuvent " "pas s'exécuter sous Linux 2.4. Il est possible de contourner cette " "difficulté en redéfinissant B à B, " "si cette dernière constante est définie." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Group-stop notifications are sent to the tracer, but not to real parent. " "Last confirmed on 2.6.38.6." msgstr "" "Les notifications d'arrêt-groupe sont envoyées à l'observateur, mais pas au " "vrai parent. C'était encore vrai sur 2.6.38.6." #. Note from Denys Vlasenko: #. Here "exits" means any kind of death - _exit, exit_group, #. signal death. Signal death and exit_group cases are trivial, #. though: since signal death and exit_group kill all other threads #. too, "until all other threads exit" thing happens rather soon #. in these cases. Therefore, only _exit presents observably #. puzzling behavior to ptrace users: thread leader _exit's, #. but WIFEXITED isn't reported! We are trying to explain here #. why it is so. #. FIXME . need to test/verify this scenario #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If a thread group leader is traced and exits by calling B<_exit>(2), a " "B stop will happen for it (if requested), but the " "subsequent B notification will not be delivered until all other " "threads exit. As explained above, if one of other threads calls " "B(2), the death of the thread group leader will I be " "reported. If the execed thread is not traced by this tracer, the tracer " "will never know that B(2) happened. One possible workaround is to " "B the thread group leader instead of restarting it in this " "case. Last confirmed on 2.6.38.6." msgstr "" "Si un leader de groupe de threads est suivi et existe en appelant " "B<_exit>(2), un arrêt B lui arrivera (si réclamé), mais " "la notification B suivante ne sera pas distribuée avant la fin de " "tous les autres threads. Comme expliqué précédemment, si un des autres " "threads appelle B(2), la mort du leader de groupe de threads ne sera " "I signalée. Si le thread exécuté n'est pas suivi par cet " "observateur, l'observé ne saura jamais qu'B(2) est arrivé. Un " "contournement possible est de Ber le leader de groupe de " "threads au lieu de le redémarrer dans ce cas. C'était encore vrai sur " "2.6.38.6." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A B signal may still cause a B stop before " "actual signal death. This may be changed in the future; B is meant " "to always immediately kill tasks even under ptrace. Last confirmed on Linux " "3.13." msgstr "" "Un signal B pourrait encore provoquer un arrêt B " "avant une véritable mort du signal. Cela pourrait évoluer à l'avenir. " "B est supposé tuer immédiatement les tâches même sous ptrace. " "C'était encore vrai sur Linux 3.13." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Some system calls return with B if a signal was sent to a tracee, but " "delivery was suppressed by the tracer. (This is very typical operation: it " "is usually done by debuggers on every attach, in order to not introduce a " "bogus B). As of Linux 3.2.9, the following system calls are " "affected (this list is likely incomplete): B(2), and B(2) " "from an B(7) file descriptor. The usual symptom of this bug is " "that when you attach to a quiescent process with the command" msgstr "" "Certains appels système renvoient B si un signal a été envoyé à " "l'observé, mais que la distribution a été supprimée par l'observateur (c'est " "une opération tout à fait caractéristique : elle est normalement réalisée " "par les débogueurs sur tous les attachements, afin de ne pas introduire de " "B défectueux). Depuis Linux 3.2.9, les appels système suivants sont " "concernés (cette liste est sans doute incomplète) : B(2) et " "B(2) depuis un descripteur de fichier B(7). Le symptôme " "classique de ce bogue est qu'en attachant à un processus quiescent avec la " "commande" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "strace -p Eprocess-IDE\n" msgstr "strace -p Eprocess-IDE\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "then, instead of the usual and expected one-line output such as" msgstr "alors, au lieu de la ligne de sortie habituelle attendue comme" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "restart_syscall(E... resuming interrupted call ...E_\n" msgstr "restart_syscall(E... reprise de l'appel interrompu ...E_\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "select(6, [5], NULL, [5], NULL_\n" msgstr "select(6, [5], NULL, [5], NULL_\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "('_' denotes the cursor position), you observe more than one line. For " "example:" msgstr "" "(« _ » indique la position du curseur), plusieurs lignes sont affichées. Par " "exemple :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" " clock_gettime(CLOCK_MONOTONIC, {15370, 690928118}) = 0\n" " epoll_wait(4,_\n" msgstr "" " clock_gettime(CLOCK_MONOTONIC, {15370, 690928118}) = 0\n" " epoll_wait(4,_\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "What is not visible here is that the process was blocked in " "B(2) before B(1) has attached to it. Attaching caused " "B(2) to return to user space with the error B. In this " "particular case, the program reacted to B by checking the current " "time, and then executing B(2) again. (Programs which do not " "expect such \"stray\" B errors may behave in an unintended way upon " "an B(1) attach.)" msgstr "" "Ce qui n'est pas visible ici est que le processus a été bloqué dans " "B(2) avant que B(1) ne s'y soit attaché. L'attachement a " "forcé B(2) à revenir dans l'espace utilisateur avec l'erreur " "B. Dans ce cas particulier, le programme a réagit à B en " "vérifiant l'heure actuelle et en exécutant encore B(2) (les " "programmes qui ne s'attendent pas à de telles erreurs B « perdue » " "risquent de se comporter de façon inattendue sur une attache B(1))." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Contrary to the normal rules, the glibc wrapper for B() can set " "I to zero." msgstr "" "Contrairement aux règles normales, l'enveloppe de la glibc pour B() " "peut positionner I sur zéro." #. 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(1), B(1), B(1), B(2), B(2), " "B(2), B(2), B(2), B(2), B(2), " "B(2), B(2), B(2), B(3), B(7), " "B(7)" msgstr "" "B(1), B(1), B(1), B(2), B(2), " "B(2), B(2), B(2), B(2), B(2), " "B(2), B(2), B(2), B(3), 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" #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 #, no-wrap msgid "" "BIB<, pid_t >IB<,>\n" "B< void *>IB<, void *>IB<);>\n" msgstr "" "BIB<, pid_t >IB<,>\n" "B< void *>IB<, void *>IB<);>\n" #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "" "While being traced, the tracee will stop each time a signal is delivered, " "even if the signal is being ignored. (An exception is B, which has " "its usual effect.) The tracer will be notified at its next call to " "B(2) (or one of the related \"wait\" system calls); that call will " "return a I value containing information that indicates the cause of " "the stop in the tracee. While the tracee is stopped, the tracer can use " "various ptrace requests to inspect and modify the tracee. The tracer then " "causes the tracee to continue, optionally ignoring the delivered signal (or " "even delivering a different signal instead)." msgstr "" "L'observé s'arrêtera à chaque fois qu'un signal lui sera distribué, même si " "le signal est ignoré (à l'exception de B qui a les effets " "habituels). L'observateur sera prévenu à son prochain appel de B(2) " "(ou un des appels système liés à « wait ») ; cet appel renverra une valeur " "I contenant les renseignements indiquant la raison de l'arrêt de " "l'observé. Lorsque l'observé est arrêté, l'observateur peut utiliser " "plusieurs requêtes ptrace pour inspecter et modifier l'observé. " "L'observateur peut également laisser continuer l'exécution de l'observé, en " "ignorant éventuellement le signal ayant déclenché l'arrêt, ou même en " "envoyant un autre signal." #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "The value of I determines the action to be performed:" msgstr "" "La valeur de l'argument I indique précisément l'action à " "entreprendre." #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "" "Indicate that this process is to be traced by its parent. A process " "probably shouldn't make this request if its parent isn't expecting to trace " "it. (I, I, and I are ignored.)" msgstr "" "Le processus en cours va être suivi par son parent. Un processus ne devrait " "sans doute pas envoyer cette requête si son parent n'est pas prêt à le " "suivre. Dans cette requête I, I, et I sont ignorés." #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "" "The B request is used only by the tracee; the remaining " "requests are used only by the tracer. In the following requests, I " "specifies the thread ID of the tracee to be acted on. For requests other " "than B, B, B, and " "B, the tracee must be stopped." msgstr "" "La requête B ne sert qu'à l'observé. Les requêtes restantes " "ne servent qu'à l'observateur. Par la suite, I précise l'identifiant de " "thread de l'observé sur lequel agir. Pour d'autres requêtes que " "B, B, B et B, " "l'observé doit être arrêté." #. type: TP #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "B, B" msgstr "B, B" #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "" "Read a word at the address I in the tracee's memory, returning the " "word as the result of the B() call. Linux does not have separate " "text and data address spaces, so these two requests are currently " "equivalent. (I is ignored; but see NOTES.)" msgstr "" "Lire un mot à l'adresse I dans l'espace mémoire de l'observé et le " "renvoyer en résultat de l'appel B(). Linux ne sépare pas les espaces " "d'adressage de code et de données, donc ces deux requêtes sont équivalentes " "(I est ignoré, consultez la section NOTES)." #. type: TP #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "B, B" msgstr "B, B" #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "" "Copy the word I to the address I in the tracee's memory. As for " "B and B, these two requests are currently " "equivalent." msgstr "" "Copier le mot I vers l'adresse I de la mémoire de l'observé. " "Comme pour B et B, ces deux requêtes sont " "équivalentes." #. type: TP #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "B, B" msgstr "B, B" #. type: TP #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "B, B" msgstr "B, B" #. type: TP #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "B, B" msgstr "B, B" #. commit 3f471126ee53feb5e9b210ea2f525ed3bb9b7a7f #. As of 4.19-rc2 #. commit 27aa55c5e5123fa8b8ad0156559d34d7edff58ca #. see change_syscall in tools/testing/selftests/seccomp/seccomp_bpf.c #. and also strace's linux/*/set_scno.c files. #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "" "When in syscall-enter-stop, change the number of the system call that is " "about to be executed to the number specified in the I argument. The " "I argument is ignored. This request is currently supported only on " "arm (and arm64, though only for backwards compatibility), but most other " "architectures have other means of accomplishing this (usually by changing " "the register that the userland code passed the system call number in)." msgstr "" "Lorsqu'il est en arrêt-entrée-appel-système, passer le numéro de l'appel " "système qui va être exécuté à celui indiqué dans le paramètre I. Le " "paramètre I est ignoré. Cette requête n'est actuellement prise en " "charge que sur arm (et arm64, quoique uniquement à des fins de " "rétrocompatibilité), mais la plupart des autres architectures ont d'autres " "moyens de faire cela (en général en modifiant le registre qui a passé " "l'appel système au code au niveau de l'utilisateur)." #. type: TP #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "B, B (since Linux 2.6.14)" msgstr "B, B (depuis Linux 2.6.14)" #. As at 3.7 #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "" "For B, continue and stop on entry to the next system call, " "which will not be executed. See the documentation on syscall-stops below. " "For B, do the same but also singlestep if not a " "system call. This call is used by programs like User Mode Linux that want " "to emulate all the tracee's system calls. The I argument is treated " "as for B. The I argument is ignored. These requests are " "currently supported only on x86." msgstr "" "Pour B, continuer puis s'arrêter lors du prochain appel " "système, qui ne sera pas exécuté. Voir la documentation des syscall-stops ci-" "dessous. Pour B, faire la même chose, mais " "exécuter pas à pas s'il ne s'agit pas d'un appel système. Cette fonction est " "utilisée par des programmes comme User Mode Linux, qui veulent émuler tous " "les appels système de l'observé. Le paramètre I est interprété comme " "pour B. L'argument I est ignoré. Ces requêtes ne sont " "pour l'instant disponibles que sur x86." #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "" "The tracer cannot assume that the ptrace-stopped tracee exists. There are " "many scenarios when the tracee may die while stopped (such as B). " "Therefore, the tracer must be prepared to handle an B error on any " "ptrace operation. Unfortunately, the same error is returned if the tracee " "exists but is not ptrace-stopped (for commands which require a stopped " "tracee), or if it is not traced by the process which issued the ptrace " "call. The tracer needs to keep track of the stopped/running state of the " "tracee, and interpret B as \"tracee died unexpectedly\" only if it " "knows that the tracee has been observed to enter ptrace-stop. Note that " "there is no guarantee that I will reliably report the " "tracee's death status if a ptrace operation returned B. " "I may return 0 instead. In other words, the tracee may be " "\"not yet fully dead\", but already refusing ptrace requests." msgstr "" "L'observateur ne peut pas assumer que l'observé arrêté-ptrace existe. " "L'observé risque de mourir avant d'être arrêté dans plusieurs cas (comme " "avec B). Par conséquent, le tracé doit être préparé pour traiter " "une erreur B sur n'importe quelle opération ptrace. Malheureusement, " "la même erreur est renvoyée si l'observé existe mais n'est pas arrêté-ptrace " "(pour les commandes qui nécessitent un observé arrêté), ou s'il n'est pas " "suivi par le processus qui a envoyé l'appel ptrace. L'observateur doit " "garder une trace de l'état arrêté ou en fonctionnement de l'observé, et " "interpréter B comme « l'observé s'est achevé de manière inattendue » " "seulement s'il sait que l'observé est effectivement entré en arrêt-ptrace. " "Remarquez qu'il n'est pas garanti que I signale de façon " "fiable l'état de mort de l'observé si une opération ptrace renvoie B. " "I pourrait plutôt renvoyer B<0>. Autrement dit, l'observé " "pourrait « ne pas être encore mort », mais déjà refuser des requêtes ptrace." #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "" "When a (possibly multithreaded) process receives any signal except " "B, the kernel selects an arbitrary thread which handles the " "signal. (If the signal is generated with B(2), the target thread " "can be explicitly selected by the caller.) If the selected thread is " "traced, it enters signal-delivery-stop. At this point, the signal is not " "yet delivered to the process, and can be suppressed by the tracer. If the " "tracer doesn't suppress the signal, it passes the signal to the tracee in " "the next ptrace restart request. This second step of signal delivery is " "called I in this manual page. Note that if the signal is " "blocked, signal-delivery-stop doesn't happen until the signal is unblocked, " "with the usual exception that B can't be blocked." msgstr "" "Quand un processus (éventuellement multithreadé) reçoit n'importe quel " "signal sauf B, le noyau choisi un thread arbitraire pour traiter le " "signal (si le signal est créé avec B(2), le thread cible peut être " "explicitement choisi par l'appelant). Si le thread choisi est observé, il " "entre en arrêt-distribution-signal. À ce moment là, le signal n'est pas " "encore distribué au processus, et peut être supprimé par l'observateur. Si " "l'observateur ne supprime pas le signal, il passe le signal à l'observé lors " "de la requête suivante de redémarrage de ptrace. Cette deuxième étape de " "distribution de signal est appelée I dans cette page de " "manuel. Remarquez que si le signal est bloqué, l'arrêt-distribution-signal " "n'arrive pas avant que le signal soit débloqué, à l'exception habituelle que " "B ne peut pas être bloqué." #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "" "where B is one of the restarting ptrace requests. If I " "is 0, then a signal is not delivered. Otherwise, the signal I is " "delivered. This operation is called I in this manual " "page, to distinguish it from signal-delivery-stop." msgstr "" "où B est une des requêtes ptrace de redémarrage. Si I " "est B<0>, alors aucun signal n'est distribué. Sinon, le signal I est " "distribué. Cette opération est appelée I dans cette " "page de manuel, pour la distinguer de l'arrêt-distribution-signal." #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "" "The fact that signal injection requests may be ignored when restarting the " "tracee after ptrace stops that are not signal-delivery-stops is a cause of " "confusion among ptrace users. One typical scenario is that the tracer " "observes group-stop, mistakes it for signal-delivery-stop, restarts the " "tracee with" msgstr "" "Le fait que des requêtes d'injection de signal puissent être ignorées lors " "du redémarrage de l'observé après des arrêts ptrace qui ne sont pas des " "arrêts-distribution-signal est une source de confusion pour les utilisateurs " "de ptrace. Un scénario typique est que l'observateur remarque un arrêt-" "groupe, le confonde avec un arrêt-distribution-signal, et redémarre " "l'observé avec" #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "" "B was delivered as a result of a user-space action, for example, a " "system call (B(2), B(2), B(3), etc.), expiration of " "a POSIX timer, change of state on a POSIX message queue, or completion of an " "asynchronous I/O request." msgstr "" "B a été distribué comme résultat d'une action en espace " "utilisateur, par exemple, un appel système (B(2), B(2), " "B(3), etc.), l'expiration d'un minuteur POSIX, la modification " "d'état sur une file de messages POSIX où la fin d'une requête d'E/S " "asynchrone." #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "The request" msgstr "La requête" #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "" "On success, the B requests return the requested data (but see " "NOTES), the B request returns the number of " "instructions in the BPF program, the B request " "returns the number of bytes available to be written by the kernel, and other " "requests return zero." msgstr "" "En cas de succès, la requête B renvoie les données demandées " "(mais consultez les NOTES), la requête B renvoie " "le nombre d'instructions du programme BPF, la requête " "B renvoie le nombre d'octets disponibles disponible " "pour être écrits par le noyau, alors que les autres requêtes renvoient zéro." #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "" "On error, all requests return -1, and I is set to indicate the " "error. Since the value returned by a successful B request may " "be -1, the caller must clear I before the call, and then check it " "afterward to determine whether or not an error occurred." msgstr "" "En cas d'erreur, toutes les requêtes renvoient B<-1> et I est défini " "pour indiquer l'erreur. Comme la valeur renvoyée par une requête " "B peut légitimement être B<-1>, l'appelant doit effacer " "I avant l'appel, et ensuite le vérifier pour savoir si une erreur " "s'est produite." #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "" "I is invalid, or an attempt was made to read from or write to an " "invalid area in the tracer's or the tracee's memory, or there was a word-" "alignment violation, or an invalid signal was specified during a restart " "request." msgstr "" "La requête I n'est pas valable ou une tentative de lecture ou " "d'écriture dans une zone non valable de mémoire de l'observateur ou de " "l'observé a eu lieu. Un problème d'alignement a aussi pu survenir sur une " "frontière de mot, ou une tentative de redémarrage en envoyant un signal non " "valable." #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "" "The specified process does not exist, or is not currently being traced by " "the caller, or is not stopped (for requests that require a stopped tracee)." msgstr "" "Le processus indiqué n'existe pas, ou n'est pas suivi par l'appelant, ou " "n'est pas arrêté (pour les requêtes qui ont besoin d'un observé arrêté)." #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "" "Although arguments to B() are interpreted according to the " "prototype given, glibc currently declares B() as a variadic " "function with only the I argument fixed. It is recommended to " "always supply four arguments, even if the requested operation does not use " "them, setting unused/ignored arguments to I<0L> or I<(void\\ *)\\ 0>." msgstr "" "Bien que les arguments de B() soient interprétés comme dans le " "prototype donné, la bibliothèque glibc déclare B comme une fonction " "variadique où seul l'argument I est corrigé. Il vaut mieux toujours " "fournir quatre arguments, même si l'opération demandée ne les utilise pas, " "en configurant les arguments non utilisés ou ignorés à I<0L> ou I<(void\\ " "*)\\ 0>." #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "" "At the system call level, the B, B, and " "B requests have a different API: they store the result at " "the address specified by the I parameter, and the return value is the " "error flag. The glibc wrapper function provides the API given in " "DESCRIPTION above, with the result being returned via the function return " "value." msgstr "" "L'interface de programmation de l'appel système est différente pour les " "requêtes B, B et B : " "elles stockent le résultat à l’adresse indiquée par le paramètre I, et " "la valeur de retour est l’attribut d’erreur. La fonction glibc encapsulant " "cet appel fournit une interface détaillée dans la section B ci-" "dessus, et le résultat qu'elle renvoie est le résultat de l'appel système." #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "31 octobre 2023" #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Pages du manuel de Linux 6.06" #. type: TH #: fedora-rawhide #, no-wrap msgid "2024-03-03" msgstr "3 mars 2024" #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "Pages du manuel de Linux 6.7" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "2023-03-30" msgstr "30 mars 2023" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr "Pages du manuel de Linux 6.04" #. type: TH #: opensuse-tumbleweed #, no-wrap msgid "Linux man-pages (unreleased)" msgstr "Pages du manuel de Linux (non publiées)"