manpages-de - en to de translation catalogue (46 entries)

note: type: TH
en: 2019-03-06
de: 6. März 2019

note: type: TH
en: Linux Programmer's Manual
de: Linux-Programmierhandbuch

note: type: SH
en: NAME
de: BEZEICHNUNG

note: type: Plain text
en: system - execute a shell command
de: system - einen Shell-Befehl ausführen

note: type: SH
en: SYNOPSIS
de: ÜBERSICHT

note: type: Plain text
en: B<int system(const char *>I<command>B<);>
de: B<int system(const char *>I<Befehl>B<);>

note: type: SH
en: DESCRIPTION
de: BESCHREIBUNG

note: type: Plain text
en: The B<system>()  library function uses B<fork>(2)  to create a child process that executes the shell command specified in I<command> using B<execl>(3)  as follows:
de: Die Bibliotheksfunktion B<system>() verwendet B<fork>(2), um einen Kindprozess zu erzeugen, der den in I<Befehl> angegebenen Shell-Befehl mittels B<execl>(3) wie folgt ausführt:

note: type: Plain text
en: execl("/bin/sh", "sh", "-c", command, (char *) NULL);
de: execl("/bin/sh", "sh", "-c", Befehl, (char *) NULL);

note: type: Plain text
en: B<system>()  returns after the command has been completed.
de: B<system>() kehrt nach der Ausführung zurück.

note: type: Plain text
en: During execution of the command, B<SIGCHLD> will be blocked, and B<SIGINT> and B<SIGQUIT> will be ignored, in the process that calls B<system>().  (These signals will be handled according to their defaults inside the child process that executes I<command>.)
de: Während der Ausführung des Befehls wird B<SIGCHLD> blockiert und B<SIGINT> sowie B<SIGQUIT> werden in den B<system>()-Prozessaufrufen ignoriert (diese Signale werden gemäß ihrer Voreinstellungen innerhalb des Kindprozesses behandelt, der I<Befehl> ausführt).

note: type: Plain text
en: If I<command> is NULL, then B<system>()  returns a status indicating whether a shell is available on the system.
de: Falls I<Befehl> NULL ist, gibt B<system>() einen Status zurück, der angibt, ob auf dem System eine Shell verfügbar ist.

note: type: SH
en: RETURN VALUE
de: RÜCKGABEWERT

note: type: Plain text
en: The return value of B<system>()  is one of the following:
de: Der Rückgabewert von B<system>() ist einer der folgenden:

note: type: Plain text
en: If I<command> is NULL, then a nonzero value if a shell is available, or 0 if no shell is available.
de: Falls I<Befehl> NULL ist, ein Wert ungleich Null, wenn die Shell verfügbar ist oder Null, wenn nicht.

note: type: Plain text
en: If a child process could not be created, or its status could not be retrieved, the return value is -1 and I<errno> is set to indicate the error.
de: Falls ein Kindprozess nicht erstellt werden konnte oder sein Status nicht erneut geholt werden kann, ist der Rückgabewert -1 und I<errno> wird gesetzt, um den Fehler anzuzeigen.

note: type: Plain text
en: If a shell could not be executed in the child process, then the return value is as though the child shell terminated by calling B<_exit>(2)  with the status 127.
de: Falls in dem Kindprozess keine Shell ausgeführt werden kann, ist der Rückgabewert so, als ob die Shell im Kindprozess durch den Aufruf von B<_exit>(2) mit dem Status 127 beendet worden wäre.

note: type: Plain text
en: If all system calls succeed, then the return value is the termination status of the child shell used to execute I<command>.  (The termination status of a shell is the termination status of the last command it executes.)
de: Falls alle Systemaufrufe erfolgreich waren, dann wird der Rückgabewert der Status beim Beenden der Kind-Shell sein, die zum Ausführen von I<Befehl> benutzt wurde. (Der Status beim Beenden einer Shell ist der Status beim Beenden des letzten von ihr ausgeführten Befehls.)

note: type: Plain text
en: In the last two cases, the return value is a "wait status" that can be examined using the macros described in B<waitpid>(2).  (i.e., B<WIFEXITED>(), B<WEXITSTATUS>(), and so on).
de: In den letzten beiden Fällen ist der Rückgabewert ein »Wartestatus«, der mittels der in B<waitpid>(2) beschriebenen Macros untersucht werden kann (d.h. B<WIFEXITED>(), B<WEXITSTATUS>() und so weiter).

note: type: Plain text
en: B<system>()  does not affect the wait status of any other children.
de: B<system>() beeinflusst nicht den Wartestatus anderer Kindprozesse.

note: type: SH
en: ERRORS
de: FEHLER

note: type: Plain text
en: B<system>()  can fail with any of the same errors as B<fork>(2).
de: B<system>() kann mit den gleichen Fehlern wie B<fork>(2) fehlschlagen.

note: type: SH
en: ATTRIBUTES
de: ATTRIBUTE

note: type: Plain text
en: For an explanation of the terms used in this section, see B<attributes>(7).
de: Siehe B<attributes>(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.

note: type: tbl table
en: Interface
de: Schnittstelle

note: type: tbl table
en: Attribute
de: Attribut

note: type: tbl table
en: Value
de: Wert

note: type: tbl table
en: Thread safety
de: Multithread-Fähigkeit

note: type: SH
en: CONFORMING TO
de: KONFORM ZU

note: type: SH
en: NOTES
de: ANMERKUNGEN

note: type: Plain text
en: B<system>()  provides simplicity and convenience: it handles all of the details of calling B<fork>(2), B<execl>(3), and B<waitpid>(2), as well as the necessary manipulations of signals; in addition, the shell performs the usual substitutions and I/O redirections for I<command>.  The main cost of B<system>()  is inefficiency: additional system calls are required to create the process that runs the shell and to execute the shell.
de: B<system>() stellt Einfachheit und Komfort bereit. Es behandelt alle Einzelheiten beim Aufrufen von B<fork>(2), B<execl>(3) und B<waitpid>(2) sowie die nötigen Manipulationen von Signalen. Zusätzlich führt die Shell die üblichen Ersetzungen von E/A-Umleitungen für I<Befehl> durch. Am stärksten geht dies zu Lasten der Leistungsfähigkeit: Zum Erzeugen des Prozesses, der die Shell startet, sowie zum Ausführen der Shell werden zusätzliche Systemaufrufe benötigt.

note: type: Plain text
en: If the B<_XOPEN_SOURCE> feature test macro is defined (before including I<any> header files), then the macros described in B<waitpid>(2)  (B<WEXITSTATUS>(), etc.) are made available when including I<E<lt>stdlib.hE<gt>>.
de: Falls das Feature-Test-Makro B<_XOPEN_SOURCE> definiert wurde (vor dem Einbinden I<irgendwelcher> Header-Dateien), dann werden die in B<waitpid>(2) beschriebenen Makros (B<WEXITSTATUS>(), etc.) durch das Einbinden von I<E<lt>stdlib.hE<gt>> zur Verfügung gestellt.

note: type: Plain text
en: As mentioned, B<system>()  ignores B<SIGINT> and B<SIGQUIT>.  This may make programs that call it from a loop uninterruptible, unless they take care themselves to check the exit status of the child.  For example:
de: Wie erwähnt, ignoriert B<system>() B<SIGINT> und B<SIGQUIT>. Dies kann dazu führen, dass Programme, die es in einer Schleife aufrufen, nicht mehr unterbrochen werden können, sofern sie nicht aufpassen, dass sie selbst den Exit-Status des Kindprozesses prüfen. Zum Beispiel:

note: type: Plain text
en: while (something) {
        int ret = system("foo");
de: while (etwas) {
        int ret = system("foo");

note: type: Plain text
en: According to POSIX.1, it is unspecified whether handlers registered using B<pthread_atfork>(3)  are called during the execution of B<system>().  In the glibc implementation, such handlers are not called.
de: Laut POSIX.1 ist nicht spezifiziert, ob mittels B<pthread_atfork>(3) registrierte Handler während der Ausführung von B<system>() aufgerufen werden. In der Glibc-Implementierung werden solche Handler nicht aufgerufen.

note: type: Plain text
en: In versions of glibc before 2.1.3, the check for the availability of I</bin/sh> was not actually performed if I<command> was NULL; instead it was always assumed to be available, and B<system>()  always returned 1 in this case.  Since glibc 2.1.3, this check is performed because, even though POSIX.1-2001 requires a conforming implementation to provide a shell, that shell may not be available or executable if the calling program has previously called B<chroot>(2)  (which is not specified by POSIX.1-2001).
de: In Glibc-Versionen vor 2.1.3 wurde die Verfügbarkeit von I</bin/sh> genaugenommen nicht überprüft, wenn I<Befehl> NULL war. Stattdessen wurde angenommen, es sei verfügbar und B<system>() gab in diesem Fall immer 1 zurück. Seit Glibc 2.1.3 wird diese Überprüfung durchgeführt, da, obwohl POSIX.1-2001 eine entsprechende Implementierung benötigt, um eine Shell zur Verfügung zu stellen, diese Shell nicht verfügbar oder ausführbar sein könnte, wenn das aufrufende Programm vorher B<chroot>(2) aufrief (was nicht durch POSIX.1-2001 spezifiziert ist).

note: type: Plain text
en: It is possible for the shell command to terminate with a status of 127, which yields a B<system>()  return value that is indistinguishable from the case where a shell could not be executed in the child process.
de: Es ist möglich, dass ein Shell-Befehl mit dem Status 127 beendet wird. Dies ergibt einen Rückgabewert von B<system>(), der nicht von dem Fall zu unterscheiden ist, in dem eine Shell nicht im Kindprozess ausgeführt werden kann.

note: type: SS
en: Caveats
de: Warnungen

note: type: Plain text
en: Do not use B<system>()  from a privileged program (a set-user-ID or set-group-ID program, or a program with capabilities)  because strange values for some environment variables might be used to subvert system integrity.  For example, B<PATH> could be manipulated so that an arbitrary program is executed with privilege.  Use the B<exec>(3)  family of functions instead, but not B<execlp>(3)  or B<execvp>(3)  (which also use the B<PATH> environment variable to search for an executable).
de: Benutzen Sie B<system>() nicht aus einem privilegierten Programm (einem Set-User-ID- oder Set-Group-ID-Programm oder einem mit Capabilities), da merkwürdige Werte für einige Umgebungsvariablen benutzt werden könnten, die möglicherweise die Systemintegrität untergraben. Beispielsweise könnte B<PATH> so verändert sein, dass ein beliebiges Programm mit Privilegien ausgeführt wird. Benutzen Sie stattdessen die Funktionen der B<exec>(3)-Familie, jedoch nicht B<execlp>(3) oder B<execvp>(3) (die auch die Umgebungsvariable B<PATH> zur Suche nach Programmen verwenden).

note: type: Plain text
en: B<system>()  will not, in fact, work properly from programs with set-user-ID or set-group-ID privileges on systems on which I</bin/sh> is bash version 2: as a security measure, bash 2 drops privileges on startup.  (Debian uses a different shell, B<dash>(1), which does not do this when invoked as B<sh>.)
de: Genaugenommen wird B<system>() aus Programmen mit SUID- oder SGID-Rechten nicht richtig auf Systemen funktionieren, auf denen I</bin/sh> Bash in der Version 2 vorliegt, da Bash 2 als Sicherheitsmaßnahme beim Start Privilegien verwirft. (Debian benutzt eine andere Shell, B<dash>(1), die dies unterlässt, wenn sie als B<sh> aufgerufen wird.

note: type: Plain text
en: Any user input that is employed as part of I<command> should be I<carefully> sanitized, to ensure that unexpected shell commands or command options are not executed.  Such risks are especially grave when using B<system>()  from a privileged program.
de: Sämtliche Benutzereingaben, die als Teil von I<command> eingesetzt werden, sollten I<sorgfältig> bereinigt werden, um sicherzustellen, dass unerwartete Shell-Befehle oder Befehlsoptionen nicht ausgeführt werden. Solche Risiken sind besonders schwerwiegend, wenn B<system>() aus einem privilegierten Programm verwandt wird.

note: type: SH
en: SEE ALSO
de: SIEHE AUCH

note: type: SH
en: COLOPHON
de: KOLOPHON

note: type: Plain text
en: This page is part of release 5.03 of the Linux I<man-pages> project.  A description of the project, information about reporting bugs, and the latest version of this page, can be found at \%https://www.kernel.org/doc/man-pages/.
de: Diese Seite ist Teil der Veröffentlichung 5.03 des Projekts Linux-I<man-pages>. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter \%https://www.kernel.org/doc/man-pages/.

note: type: Plain text
en: This page is part of release 5.02 of the Linux I<man-pages> project.  A description of the project, information about reporting bugs, and the latest version of this page, can be found at \%https://www.kernel.org/doc/man-pages/.
de: Diese Seite ist Teil der Veröffentlichung 5.02 des Projekts Linux-I<man-pages>. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter \%https://www.kernel.org/doc/man-pages/.

note: type: Plain text
en: This page is part of release 5.01 of the Linux I<man-pages> project.  A description of the project, information about reporting bugs, and the latest version of this page, can be found at \%https://www.kernel.org/doc/man-pages/.
de: Diese Seite ist Teil der Veröffentlichung 5.01 des Projekts Linux-I<man-pages>. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter \%https://www.kernel.org/doc/man-pages/.
