# Italian translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Giulio Daprelà , 2006, 2007. # Elisabetta Galli , 2007. # Antonio Giovanni Colombo , 2018. # Marco Curreli , 2018, 2021. msgid "" msgstr "" "Project-Id-Version: manpages-l10n 4.0.0\n" "POT-Creation-Date: 2024-06-01 06:34+0200\n" "PO-Revision-Date: 2021-04-07 00:55+0200\n" "Last-Translator: Marco Curreli \n" "Language-Team: Italian \n" "Language: it\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 20.12.3\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B():" msgid "vfork" msgstr "B():" #. type: TH #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "2 maggio 2024" #. type: TH #: archlinux debian-unstable #, fuzzy, no-wrap #| msgid "Linux man-pages 6.7" msgid "Linux man-pages 6.8" msgstr "Linux man-pages 6.7" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "NOME" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "vfork - create a child process and block parent" msgstr "vfork - crea un processo figlio e blocca il processo genitore" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "LIBRARY" msgstr "LIBRERIA" #. 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 "Libreria 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 "SINTASSI" #. 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 Eunistd.hE>\n" msgstr "B<#include Eunistd.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B\n" msgstr "B\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Feature Test Macro Requirements for glibc (see B(7)):" msgstr "" "Macro per test di funzionalità per glibc (vedere B(7)):" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B():" msgstr "B():" #. || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "" #| " Since glibc 2.12:\n" #| " (_XOPEN_SOURCE E= 500) && ! (_POSIX_C_SOURCE E= 200809L)\n" #| " || /* Since glibc 2.19: */ _DEFAULT_SOURCE\n" #| " || /* Glibc E= 2.19: */ _BSD_SOURCE\n" #| " Before glibc 2.12:\n" #| " _BSD_SOURCE || _XOPEN_SOURCE E= 500\n" msgid "" " Since glibc 2.12:\n" " (_XOPEN_SOURCE E= 500) && ! (_POSIX_C_SOURCE E= 200809L)\n" " || /* Since glibc 2.19: */ _DEFAULT_SOURCE\n" " || /* glibc E= 2.19: */ _BSD_SOURCE\n" " Before glibc 2.12:\n" " _BSD_SOURCE || _XOPEN_SOURCE E= 500\n" msgstr "" " A partire da glibc 2.12:\n" " (_XOPEN_SOURCE E= 500) && ! (_POSIX_C_SOURCE E= 200809L)\n" " || /* Since glibc 2.19: */ _DEFAULT_SOURCE\n" " || /* Glibc E= 2.19: */ _BSD_SOURCE\n" " Before glibc 2.12:\n" " _BSD_SOURCE || _XOPEN_SOURCE E= 500\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 "DESCRIZIONE" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Standard description" msgstr "Descrizione standard" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "(From POSIX.1) The B() function has the same effect as B(2), " "except that the behavior is undefined if the process created by B() " "either modifies any data other than a variable of type I used to " "store the return value from B(), or returns from the function in " "which B() was called, or calls any other function before " "successfully calling B<_exit>(2) or one of the B(3) family of " "functions." msgstr "" "(Da POSIX.1) La funzione B() ha lo stesso effetto di B(2), con " "l'eccezione che il comportamento è indefinito se il processo creato da " "B() modifica un dato qualsiasi che non sia una variabile di tipo " "I usata per archiviare il valore restituito da B(), o torna " "dalla funzione nella quale B() è stato chiamato, o chiama qualunque " "altra funzione prima di chiamare con successo B<_exit>(2) o una delle " "funzioni della famiglia di B(3)." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Linux description" msgstr "Descrizione Linux" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(), just like B(2), creates a child process of the calling " "process. For details and return value and errors, see B(2)." msgstr "" "B(), proprio come B(2), crea un processo figlio del processo " "chiamante. Per dettagli sui valori restituiti e sugli errori, vedere " "B(2)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() is a special case of B(2). It is used to create new " "processes without copying the page tables of the parent process. It may be " "useful in performance-sensitive applications where a child is created which " "then immediately issues an B(2)." msgstr "" "B() è un caso speciale di B(2). Si usa per creare nuovi " "processi senza copiare le tabelle di paginazione del processo genitore. Può " "essere utile in applicazioni con necessità di prestazioni elevate nelle " "quali verrà creato un figlio che emette immediatamente un B(2)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() differs from B(2) in that the calling thread is suspended " "until the child terminates (either normally, by calling B<_exit>(2), or " "abnormally, after delivery of a fatal signal), or it makes a call to " "B(2). Until that point, the child shares all memory with its " "parent, including the stack. The child must not return from the current " "function or call B(3) (which would have the effect of calling exit " "handlers established by the parent process and flushing the parent's " "B(3) buffers), but may call B<_exit>(2)." msgstr "" "B() è diverso da B(2) nel senso che il processo chiamante " "rimane sospeso finché il figlio non termina (sia normalmente, chiamando " "B<_exit>(2), che in modo anormale, dopo aver inviato un segnale fatal), o " "finchè non esegue una chiamata a B(2). Fino a quel momento, il " "figlio condivide la memoria con il genitore, incluso lo stack. Il figlio non " "deve tornare dalla funzione in esecuzione o chiamare B(3) (che avrebbe " "l'effetto di attivare i gestori di exit stabiliti dal processo genitore e di " "svuotare i buffer B(3) del genitore), ma può chiamare B<_exit>(2)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "As with B(2), the child process created by B() inherits copies " "of various of the caller's process attributes (e.g., file descriptors, " "signal dispositions, and current working directory); the B() call " "differs only in the treatment of the virtual address space, as described " "above." msgstr "" "Come in B(2), il processo figlio creato da B() eredita copie di " "vari attributi del processo chiamante (p.es., descrittori di file, " "predisposizioni di segnale e la directory di lavoro corrente); la chiamata " "B() differisce solo per la gestione dello spazio di indirizzi " "virtuale, come sopra descritto." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Signals sent to the parent arrive after the child releases the parent's " "memory (i.e., after the child terminates or calls B(2))." msgstr "" "I segnali inviati al genitore gli arrivano dopo che il figlio ha liberato la " "memoria del genitore (cioè dopo che il figlio termina o chiama B(2))." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Historic description" msgstr "Descrizione storica" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Under Linux, B(2) is implemented using copy-on-write pages, so the " "only penalty incurred by B(2) is the time and memory required to " "duplicate the parent's page tables, and to create a unique task structure " "for the child. However, in the bad old days a B(2) would require " "making a complete copy of the caller's data space, often needlessly, since " "usually immediately afterward an B(3) is done. Thus, for greater " "efficiency, BSD introduced the B() system call, which did not fully " "copy the address space of the parent process, but borrowed the parent's " "memory and thread of control until a call to B(2) or an exit " "occurred. The parent process was suspended while the child was using its " "resources. The use of B() was tricky: for example, not modifying " "data in the parent process depended on knowing which variables were held in " "a register." msgstr "" "Sotto Linux, B(2) è implementato usando pagine copy-on-write, così che " "la sola penalizzazione in cui incorre B(2) è il tempo e la memoria " "richiesti per duplicare le tabelle di paginazione del genitore, e per creare " "un'unica struttura di task per il figlio. Tuttavia, anticamente B(2) " "richiedeva l'effettuazione di una copia completa dello spazio dati del " "chiamante, spesso senza reale necessità, di solito immediatamente dopo " "l'esecuzione di B(3). Quindi, per una maggiore efficienza, BSD ha " "introdotto la chiamata di sistema B(), che non copiava completamente " "lo spazio di indirizzamento del processo genitore, ma utilizzava la memoria " "del genitore e le sue strutture di controllo fino a una chiamata a " "B(2) o un exit. Il processo genitore era sospeso mentre il figlio " "utilizzava le sue risorse. L'uso di B() non era semplice: per " "esempio, per non modificare i dati nel processo genitore occorreva sapere " "quali variabili erano conservate in un registro." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "VERSIONS" msgstr "VERSIONI" #. In AIXv3.1 vfork is equivalent to fork. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The requirements put on B() by the standards are weaker than those " "put on B(2), so an implementation where the two are synonymous is " "compliant. In particular, the programmer cannot rely on the parent " "remaining blocked until the child either terminates or calls B(2), " "and cannot rely on any specific behavior with respect to shared memory." msgstr "" "I requisiti indicati per B() dagli standard sono più deboli di quelli " "indicati per B(2), così un'implementazione dove i due sono sinonimi è " "conforme. In particolare, il programmatore non può contare sul fatto che il " "genitore rimanga bloccato fino a che il figlio termini o chiami " "B(2), e non può contare su alcuno specifico comportamento relativo " "alla memoria condivisa." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "Some consider the semantics of B() to be an architectural " #| "blemish, and the 4.2BSD man page stated: \"This system call will be " #| "eliminated when proper system sharing mechanisms are implemented. Users " #| "should not depend on the memory sharing semantics of B() as it " #| "will, in that case, be made synonymous to B(2).\" However, even " #| "though modern memory management hardware has decreased the performance " #| "difference between B(2) and B(), there are various reasons " #| "why Linux and other systems have retained B():" msgid "" "Some consider the semantics of B() to be an architectural blemish, " "and the 4.2BSD man page stated: \\[lq]This system call will be eliminated " "when proper system sharing mechanisms are implemented. Users should not " "depend on the memory sharing semantics of I as it will, in that case, " "be made synonymous to I.\\[rq] However, even though modern memory " "management hardware has decreased the performance difference between " "B(2) and B(), there are various reasons why Linux and other " "systems have retained B():" msgstr "" "Alcuni considerano la semantica di B() come un difetto " "dell'architettura, e la pagina di manuale di 4.2BSD dichiarava: \"Questa " "chiamata di sistema verrà eliminata quando saranno implementati " "opportunimeccanismi di condivisione. Gli utenti non dovrebbero dipendere dal " "metodo di condivisione della memoria di B() poiché, a quel punto, " "esso diventerebbe sinonimo di B(2).\" Comunque, anche se il moderno " "hardware per la gestione della memoria ha ridotto la differenza fra " "B(2) e B(), ci sono varie ragioni per le quali Linux e altri " "sistemi hanno mantenuto B():" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "\\[bu]" msgstr "\\[bu]" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Some performance-critical applications require the small performance " "advantage conferred by B()." msgstr "" "Alcune applicazioni in cui le prestazioni sono essenziali richiedono il " "piccolo vantaggio in termini di prestazioni garantito da B()." #. http://stackoverflow.com/questions/4259629/what-is-the-difference-between-fork-and-vfork #. http://developers.sun.com/solaris/articles/subprocess/subprocess.html #. http://mailman.uclinux.org/pipermail/uclinux-dev/2009-April/000684.html #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B() can be implemented on systems that lack a memory-management " #| "unit (MMU), but B(2) can't be implemented on such systems. " #| "(POSIX.1-2008 removed B() from the standard; the POSIX rationale " #| "for the B(3) function notes that that function, which " #| "provides functionality equivalent to B(2)+B(3), is designed " #| "to be implementable on systems that lack an MMU.)" msgid "" "B() can be implemented on systems that lack a memory-management unit " "(MMU), but B(2) can't be implemented on such systems. (POSIX.1-2008 " "removed B() from the standard; the POSIX rationale for the " "B(3) function notes that that function, which provides " "functionality equivalent to B(2)+ B(3), is designed to be " "implementable on systems that lack an MMU.)" msgstr "" "BR vfork ()può essere implementato su sistemi in cui manca un'unità di " "gestione dellamemoria (MMU), ma.BR fork (2)non può essere implementato su " "tali sistemi.(POSIX.1-2008 ha rimosso.BR vfork ()dallo standard; nelle " "motivazioni di POSIX per la funzione.BR posix_spawn (3)si nota che quella " "funzione,che fornisce una funzionalità equivalente a.BR fork (2)+ exec (3),è " "progettata per poter essere resa disponibile su sistemi in cui manca MMU)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On systems where memory is constrained, B() avoids the need to " "temporarily commit memory (see the description of I in B(5)) in order to execute a new program. (This " "can be especially beneficial where a large parent process wishes to execute " "a small helper program in a child process.) By contrast, using B(2) " "in this scenario requires either committing an amount of memory equal to the " "size of the parent process (if strict overcommitting is in force) or " "overcommitting memory with the risk that a process is terminated by the out-" "of-memory (OOM) killer." msgstr "" "Su sistemi con memoria limitata, B() evita la necessità di impegnare " "memoria temporaneamente (si veda la descrizione di I in B(5)) per l'esecuzione di un nuovo progamma. " "(Questo può essere particolarmente vantaggioso nel caso di un grosso " "processo genitore che voglia eseguire un piccolo programma di supporto in un " "processo figlio.) Per contrasto, usare B(2) in questo scenario " "richiede l'impegno di una quantità di memoria pari alla dimensione del " "processo genitore (se è attivo lo strict overcommitting) oppure una " "sovrallocazione di memoria col rischio che un processo venga terminato dal " "processo killer out-of-memory (OOM)." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Linux notes" msgstr "Note Linux" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Fork handlers established using B(3) are not called when a " "multithreaded program employing the NPTL threading library calls " "B(). Fork handlers are called in this case in a program using the " "LinuxThreads threading library. (See B(7) for a description of " "Linux threading libraries.)" msgstr "" "I gestori di fork definiti usando B(3) non sono chiamati " "quando un programma multithread che impiega le chiamate alla libreria di " "threading NPTL chiama B(). I gestori di fork sono invece chiamati da " "un programma che usi la libreria di threading LinuxThreads. (Vedere " "B(7) per una descrizione delle librerie di threading di Linux)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A call to B() is equivalent to calling B(2) with I " "specified as:" msgstr "" "Una chiamata a B() è equivalente a una chiamata a B(2) con " "I definite come:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid " CLONE_VM | CLONE_VFORK | SIGCHLD\n" msgid " CLONE_VM | CLONE_VFORK | SIGCHLD\n" msgstr " CLONE_VM | CLONE_VFORK | SIGCHLD\n" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "STANDARDS" msgstr "STANDARD" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "None." msgstr "" #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HISTORY" msgstr "STORIA" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "4.3BSD; POSIX.1-2001 (but marked OBSOLETE). POSIX.1-2008 removes the " "specification of B()." msgstr "" "4.3BSD; POSIX.1-2001 (ma segnato come OBSOLETO). POSIX.1-2008 rimuove le " "specifiche per B()." #. In the release notes for 4.2BSD Sam Leffler wrote: `vfork: Is still #. present, but definitely on its way out'. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "The B() system call appeared in 3.0BSD. In 4.4BSD it was made " #| "synonymous to B(2) but NetBSD introduced it again; see E<.UR " #| "http://www.netbsd.org\\:/Documentation\\:/kernel\\:/vfork.html> E<.UE .> " #| "In Linux, it has been equivalent to B(2) until 2.2.0-pre6 or so. " #| "Since 2.2.0-pre9 (on i386, somewhat later on other architectures) it is " #| "an independent system call. Support was added in glibc 2.0.112." msgid "" "The B() system call appeared in 3.0BSD. In 4.4BSD it was made " "synonymous to B(2) but NetBSD introduced it again; see E<.UR http://" "www.netbsd.org\\:/Documentation\\:/kernel\\:/vfork.html> E<.UE .> In Linux, " "it has been equivalent to B(2) until Linux 2.2.0-pre6 or so. Since " "Linux 2.2.0-pre9 (on i386, somewhat later on other architectures) it is an " "independent system call. Support was added in glibc 2.0.112." msgstr "" "La chiamata di sistema B() è apparsa nella versione 3.0BSD. Nella " "versione 4.4BSD è diventata sinonimo di B(2) ma NetBSD l'ha " "reintrodotta; si veda E<.UR http://www.netbsd.org\\:/Documentation\\:/kernel" "\\:/vfork.html> E<.UE .> In Linux è stata equivalente a B(2) fino alla " "versione 2.2.0-pre6. A partire dalla 2.2.0-pre9 (su i386 - un po' più tardi " "su altre architetture) è una chiamata di sistema indipendente. Il relativo " "supporto è stato aggiunto in glibc 2.0.112." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "CAVEATS" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The child process should take care not to modify the memory in unintended " "ways, since such changes will be seen by the parent process once the child " "terminates or executes another program. In this regard, signal handlers can " "be especially problematic: if a signal handler that is invoked in the child " "of B() changes memory, those changes may result in an inconsistent " "process state from the perspective of the parent process (e.g., memory " "changes would be visible in the parent, but changes to the state of open " "file descriptors would not be visible)." msgstr "" "Il processo figlio dovrebbe far attenzione di non modificare la memoria in " "maniera non permessa, poiché tali modifiche saranno utilizzabili dal " "processo genitore una volta che il processo figlio termina o esegue un altro " "programma. A tal riguardo, i gestori di segnale possono essere " "particolarmente problematici: se un gestore di segnale che è invocato nel " "processo figlio di B() modifica la memoria, questi cambiamenti " "possono determinare uno stato del processo contradditorio, visto dalla " "prospettiva del processo genitore (p.es., le modifiche di memoria sarebbero " "visibili nel processo genitore, ma i cambiamenti allo stato dei descrittori " "di file aperti non sarebbero visibili)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When B() is called in a multithreaded process, only the calling " "thread is suspended until the child terminates or executes a new program. " "This means that the child is sharing an address space with other running " "code. This can be dangerous if another thread in the parent process changes " "credentials (using B(2) or similar), since there are now two " "processes with different privilege levels running in the same address " "space. As an example of the dangers, suppose that a multithreaded program " "running as root creates a child using B(). After the B(), a " "thread in the parent process drops the process to an unprivileged user in " "order to run some untrusted code (e.g., perhaps via plug-in opened with " "B(3)). In this case, attacks are possible where the parent process " "uses B(2) to map in code that will be executed by the privileged " "child process." msgstr "" "Quando B() viene chiamato in un processo multithread, viene sospeso " "solo il thread (processo) chiamante fino a quando il processo figlio non " "termina o esegue un nuovo programma. Questo significa che il processo " "figlio sta condividendo uno spazio di indirizzamento con altro codice in " "esecuzione. Questo può essere pericoloso se un altro thread nel processo " "genitore cambia le credenziali di accesso alle risorse (usando B(2) " "o simili), poiché a quel punto ci sono due processi con differenti livelli " "di privilegio in esecuzione in un unico spazio di indirizzamento. Come " "esempio dei rischi, si supponga che un programma multithread in esecuzione " "come root crei un processo figlio usando B(). Dopo il B(), un " "thread nel processo genitore cambia l'autorizzazione del processo a quella " "di un utente senza privilegi per eseguire del codice non sicuro (p.es., " "eseguendo un plug-in aperto con B(3)). In questo caso, sono " "possibili attacchi in cui il processo genitore usa B(2) per mappare " "del codice che sarà quindi eseguito dal processo figlio in modalità " "privilegiata." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BUGS" msgstr "BUG" #. As far as I can tell, the following is not true in Linux 2.6.19: #. Currently (Linux 2.3.25), #. .BR strace (1) #. cannot follow #. .BR vfork () #. and requires a kernel patch. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Details of the signal handling are obscure and differ between systems. The " "BSD man page states: \"To avoid a possible deadlock situation, processes " "that are children in the middle of a B() are never sent B " "or B signals; rather, output or Is are allowed and input " "attempts result in an end-of-file indication.\"" msgstr "" "I dettagli sulla gestione del segnale sono oscuri e diversi da sistema a " "sistema. La pagina di manuale di BSD afferma: \"Per evitare una possibile " "situazione di stallo, ai processi che sono figli non vengono mai inviati, " "nel mezzo di un B(), segnali B o B; invece, output " "o Is sono permessi e i tentativi di input restituiscono come " "risultato un'indicazione di fine file.\"" #. 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 "VEDERE ANCHE" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(2), B(2), B<_exit>(2), B(2), B(2), B(2)" msgstr "" "B(2), B(2), B<_exit>(2), B(2), B(2), B(2)" #. type: TH #: debian-bookworm #, no-wrap msgid "2023-02-05" msgstr "5 febbraio 2023" #. type: TH #: debian-bookworm #, no-wrap msgid "Linux man-pages 6.03" msgstr "Linux man-pages 6.03" #. type: SH #: debian-bookworm #, no-wrap msgid "NOTES" msgstr "NOTE" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy #| msgid "" #| "Some consider the semantics of B() to be an architectural " #| "blemish, and the 4.2BSD man page stated: \"This system call will be " #| "eliminated when proper system sharing mechanisms are implemented. Users " #| "should not depend on the memory sharing semantics of B() as it " #| "will, in that case, be made synonymous to B(2).\" However, even " #| "though modern memory management hardware has decreased the performance " #| "difference between B(2) and B(), there are various reasons " #| "why Linux and other systems have retained B():" msgid "" "Some consider the semantics of B() to be an architectural blemish, " "and the 4.2BSD man page stated: \"This system call will be eliminated when " "proper system sharing mechanisms are implemented. Users should not depend " "on the memory sharing semantics of B() as it will, in that case, be " "made synonymous to B(2). \" However, even though modern memory " "management hardware has decreased the performance difference between " "B(2) and B(), there are various reasons why Linux and other " "systems have retained B():" msgstr "" "Alcuni considerano la semantica di B() come un difetto " "dell'architettura, e la pagina di manuale di 4.2BSD dichiarava: \"Questa " "chiamata di sistema verrà eliminata quando saranno implementati " "opportunimeccanismi di condivisione. Gli utenti non dovrebbero dipendere dal " "metodo di condivisione della memoria di B() poiché, a quel punto, " "esso diventerebbe sinonimo di B(2).\" Comunque, anche se il moderno " "hardware per la gestione della memoria ha ridotto la differenza fra " "B(2) e B(), ci sono varie ragioni per le quali Linux e altri " "sistemi hanno mantenuto B():" #. type: SS #: debian-bookworm #, no-wrap msgid "Caveats" msgstr "Avvertimenti" #. type: SS #: debian-bookworm #, no-wrap msgid "History" msgstr "Storia" #. type: TH #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "31 ottobre 2023" #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Linux man-pages 6.06" #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "Linux man-pages 6.7" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "2023-03-30" msgstr "30 marzo 2023" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr "Linux man-pages 6.04" #. type: TH #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "Linux man-pages 6.7" msgid "Linux man-pages (unreleased)" msgstr "Linux man-pages 6.7"