[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [RFR] man://manpages-de/exit.3



* Chris Leick <c.leick@vollbio.de> [101220 20:21]:
> #. type: Plain text
> msgid ""
> "The B<exit>()  function causes normal process termination and the value of "
> "I<status & 0377> is returned to the parent (see B<wait>(2))."
> msgstr ""
> "Die Funktion B<exit>() veranlasst ein normales Prozessende und gibt den Wert "
> "von I<status & 0377> an den Elternprozess zur??ck (siehe B<wait>(2))."

Das "causes" so wörtlich zu übersetzen während dem "termination" das
(zumindest bei diesem Aufruf) Prozesshafte verloren geht und der
Rückgabewert plötzlich aktiv von exit an den Parent gegeben wird,
ist etwas merkwürdig. Wir wäre es mit

"Die Funktion B<exit>() beendet den Prozess mit einem normalen Ende."
"Der Wert von I<status & 0377> wird an den Elternprozess zur??ck "
"gegeben (siehe B<wait>(2))."


> #. type: Plain text
> msgid ""
> "All functions registered with B<atexit>(3)  and B<on_exit>(3)  are called, "
> "in the reverse order of their registration.  (It is possible for one of "
> "these functions to use B<atexit>(3)  or B<on_exit>(3)  to register an "
> "additional function to be executed during exit processing; the new "
> "registration is added to the front of the list of functions that remain to "
> "be called.)  If one of these functions does not return (e.g., it calls "
> "B<_exit>(2), or kills itself with a signal), then none of the remaining "
> "functions is called, and further exit processing (in particular, flushing of "
> "B<stdio>(3)  streams) is abandoned.  If a function has been registered "
> "multiple times using B<atexit>(3)  or B<on_exit>(3), then it is called as "
> "many times as it was registered."
> msgstr ""
> "Alle Funktionen, die mit B<atexit>(3) und B<on_exit>(3) registriert wurden, "

"Die mit B<atexit>(3) und B<on_exit>(3) registrierten Funktionen [...]"?

> "werden in der umgekehrten Reihenfolge ihrer Registrierung aufgerufen. (Es ist "
> "f??r eine dieser Funktionen m??glich, B<atexit>(3) oder B<on_exit>(3) zu "
> "benutzen, um eine zus??tzliche Funktion zu registrieren, die w??hrend des "
> "Exit-Prozesses ausgef??hrt wird; die neue Registrierung wird am Anfang der "
> "Liste verbleibender Funktionen hinzugef??gt, die noch aufgerufen werden.) "

Das "für eine dieser" klingt im deutschen für mich extrem so, als ob das
nur eine könnte. Während es für mich im englischen nicht so klingt und
es meines Wissens nach auch falsch ist.

Das "es ist möglich" klingt im deutschen auch arg sperrig.

Wie wäre es mit

"Eine solche Funktion kann B<atexit>(3) oder B<on_exit>(3) aufrufen, um
[...]"

> "Wenn eine dieser Funktionen nicht zur??ckkehrt (z.B. ruft sie B<_exit>(2) auf "
> "oder beendet sich selbst mit einem Signal),

Da geht die Grammatik kaputt. In der Klammer ist plötzlich die
Wortstellung eines Hauptsatzes. Und ich würde sagen, im deutschen muss
man da das "wenn" wiederholen.
Insofern nicht eher
"(z.B. wenn sie B<_exit>(2) aufruft oder sich mit einem Signal beendet)"?

>  [...] dann wird keine der verbleibenden "
> "Funktionen aufgerufen und die weitere Exit-Ausf??hrung (insbesondere Leeren "
> "von B<stdio>(3)-Datenstr??men) wird eingestellt. [...]

wird eingestell hört sich hier etwas langwierig an. Wie wäre es mit
"abgebrochen"?

Das "Leeren von Strömen" im Sinne von "Leeren von Buffern von Strömen"
im Sinne von "alles rausschreiben" verwirrt mich im deutschen immer,
aber da kann man wogl nicht viel gegen tun.

> #. type: Plain text
> msgid ""
> "The C standard specifies two constants, B<EXIT_SUCCESS> and B<EXIT_FAILURE>, "
> "that may be passed to B<exit>()  to indicate successful or unsuccessful "
> "termination, respectively."
> msgstr ""
> "Der C-Standard spezifiziert zwei Konstanten, B<EXIT_SUCCESS> und "
> "B<EXIT_FAILURE>, die an B<exit>() ??bergeben werden und ein erfolgreiches "
> "beziehungsweise erfolgloses Beenden anzeigen."

"die an B<exit> übergeben werden können, um ein erfolgreiches [...]".

(Das erfolgreich auf das Ende zu beziehen, ist ja im Orignal schon so,
daher kritisiere ich da mal nicht dran rum).

> #. type: SH
> #, no-wrap
> msgid "RETURN VALUE"
> msgstr "R??CKGABEWERT"
> 
> #. type: Plain text
> msgid "The B<exit>()  function does not return."
> msgstr "Die Funktion B<exit>() gibt nichts zur??ck."

Zwischen nichts zurückgeben und nicht zurückkommen besteht schon
ein deutlicher Unterschied.

Wie wäre es mit
"Die Funktion B<exit>() kehrt nicht zurück."
?

> #. type: Plain text
> msgid ""
> "It is undefined what happens if one of the functions registered using "
> "B<atexit>(3)  and B<on_exit>(3)  calls either B<exit>()  or B<longjmp>(3)."
> msgstr ""
> "Sie ist undefiniert, was geschieht, wenn eine der mit B<atexit>(3) und "
> "B<on_exit>(3) registrierten Funktionen entweder B<exit>() oder B<longjmp>(3) "
> "aufruft."

s/Sie/Es/

Das "entweder" würde ich weglassen. Es trägt hier keine Bedeutung und
ist im deutschen an der Stelle schon ziemlich sperrig.


> #. type: Plain text
> msgid ""
> "The use of B<EXIT_SUCCESS> and B<EXIT_FAILURE> is slightly more portable (to "
> "non-Unix environments) than the use of 0 and some nonzero value like 1 or "
> "-1.  In particular, VMS uses a different convention."
> msgstr ""
> "Die Benutzung von B<EXIT_SUCCESS> und B<EXIT_FAILURE> ist etwas portierbarer "
> "(zu Nicht-Unix-Umgebungen), als der Gebrauch von 0 und einigen anderen "
> "Werten, die nicht Null sind, wie 1 oder -1. Insbesondere VMS folgt einem "
> "anderen Grundsatz."

"Portieren zu" scheint es zwar auch zu geben (hätte ich vor'm Rumgooglen
erstmal nicht geglaubt), aber ich denke bei Software ist "Portieren auf"
schon üblicher.

Außerdem geht etwas der Dualismus von dem symbolischen zu den
numerischen Werten verloren. Statt EXIT_SUCCESS kann man auf Unix auch
0, für EXIT_FAILURE einen Wert ungleich 0 verwenden. (Ich denke darum
ist "value" im Orginal Singular).

Und "Grundsatz" passt meiner Meinung noch überhaupt nicht als Wort, das
beschreibt welche Zahlen üblicherweise welche Bedeutungen haben.

"B<EXIT_SUCCESS> und B<EXIT_FAILURE> zu benutzen ist etwas portierbarer"
"(auf non-Unix Umgebungen), als 0 und einen Wert ungleich Null wie 1"
"oder -1 zu verwenden. Insbesondere VMS hate andere Konventionen."


> #. type: Plain text
> msgid ""
> "BSD has attempted to standardize exit codes; see the file I<E<lt>sysexits."
> "hE<gt>>."
> msgstr ""
> "BSD versuchte, die Exit-Codes zu standardisieren; sehen Sie die Datei "
> "I<E<lt>sysexits.hE<gt>>."

"[...]; siehe die Datei [...]"

> 
> #. type: Plain text
> msgid ""
> "After B<exit>(), the exit status must be transmitted to the parent process.  "
> "There are three cases.  If the parent has set B<SA_NOCLDWAIT>, or has set "
> "the B<SIGCHLD> handler to B<SIG_IGN>, the status is discarded.  If the "
> "parent was waiting on the child it is notified of the exit status.  In both "
> "cases the exiting process dies immediately.  If the parent has not indicated "
> "that it is not interested in the exit status, but is not waiting, the "
> "exiting process turns into a \"zombie\" process (which is nothing but a "
> "container for the single byte representing the exit status) so that the "
> "parent can learn the exit status when it later calls one of the B<wait>(2)  "
> "functions."
> msgstr ""
> "Nach B<exit>() muss der Exit-Status an den Elternprozess ??bertragen werden. "
> "Dabei werden drei F??lle unterschieden. Falls beim Elternprozess "
> "B<SA_NOCLDWAIT> gesetzt ist oder das B<SIGCHLD>-Steuerungsprogramm auf "

Bei error/interrupt/signal handler passt meiner Meinung nach
"Behandlungsroutine" deutlich besser als "Steuerungsprogramm".
Bzw. bei "Steuerungsprogramm" hätte ich überhaupt keine Ahnung, was
gemeint wäre.

> "B<SIG_IGN> gesetzt ist,[...]

"gesetzt wurde"? Gesetzt sein lasse ich höchstens bei Flags noch durchgehen

> wird der Status verworfen. Wenn der Elternprozess auf "
> "den Kindprozess wartete, wird er ??ber den Exit-Status benachrichtigt. In "
> "beiden F??llen ??stirbt?? der Prozess, der beendet wird, sofort. Falls der "
> "Elternprozess nicht angezeigt hat, dass er nicht am Exit-Status interessiert "
> "ist, aber nicht darauf wartet, dann wird der Prozess, der beendet wird, in "

"der zu beendende Prozess", da gibt es schon genug Nebensätze.

> "einen ??Zombieprozess?? verwandelt (was nichts anderes ist, als ein Beh??lter "
> "f??r ein einzelnes Byte, der den Exit-Status repr??sentiert), so dass der "

Wenn schon ein Byte, "das"... . Aber wie wäre es mit
"als ein Behälter für ein einzelnen Byte, den Exit-Status)"
(Wobei da schon das Orginal falsch ist, der Exit-Code ist ein Byte, der
Exit-Status hat noch ein paar bit mehr, insofern wäre ich für
"als ein Behälter für einen einzelnen Wert, den Exit-Status)")

> "Elternprozess den Exit-Status lernen kann, wenn er sp??ter eine der "

s/lernen/erfahren/

Und im deutschen eher s/wenn/indem/

> #. type: Plain text
> msgid ""
> "If the exit of the process causes a process group to become orphaned, and if "
> "any member of the newly orphaned process group is stopped, then a B<SIGHUP> "
> "signal followed by a B<SIGCONT> signal will be sent to each process in this "
> "process group.  See B<setpgid>(2)  for an explanation of orphaned process "
> "groups."
> msgstr ""
> "Falls das Beenden des Prozesses das Verwaisen einer Prozessgruppe verursacht "
> "und jedes Mitglied der neu verwaisten Gruppe gestoppt wird, dann wird ein "
> "B<SIGHUP>-Signal gefolgt von einem B<SIGCONT>-Signal an jeden Prozess in "
> "dieser Prozessgruppe gesandt. Lesen Sie B<setpgid>(2), wenn Sie eine "
> "Erl??uterung verwaister Prozessgruppen suchen."

Ich glaube im deutschen kann man auch etwas für eine Erläuterung lesen.

	Bernhard R. Link


Reply to: