tail head cat sleep
QR code linking to this page

Manpage  — SYSTEM

BEZEICHNUNG

system - führe ein Shellkommando aus

INHALT

ÜBERSICHT

#include <stdlib.h> 

int system (const char * string);

BESCHREIBUNG

system() führt ein Kommando, das in string spezifiziert ist, durch Aufruf von /bin/sh -c string aus und kehrt zurück wenn das Kommando beendet ist. Während der Ausführung des Kommandos wird SIGCHLD blockiert und SIGINT und SIGQUIT werden ignoriert.

RÜCKGABEWERT

Der zurückgegebene Wert ist 127 wenn der Aufruf execve() für /bin/sh fehlschlägt, -1 wenn ein anderer Fehler aufgetreten ist, oder anderenfalls der Rückgebewert des Kommandos.

Wenn der Wert von string NULL ist, so gibt system() Nichtnull zurück wenn die Shell verfügbar ist, Null wenn nicht.

system() beeinflußt nicht den Wartestatus anderer Kindprozesse.

KONFORM ZU

ANSI C, POSIX.1, proposed POSIX.2, BSD 4.3

BUGS

Benutze nicht system() von einem Programm mit suid- oder sgid-Privilegien aus, da unbekannte Werte für einige Umgebungsvariablen benutzt werden könnten, die die Systemintegrität angreifen können. Benutze stattdessen die Funktionsfamilie exec(2), jedoch nicht execlp(2) oder execvp(2).

Die Prüfung der Verfügbarkeit von /bin/sh wird nicht wirklich durchgeführt; die Shell wird immer als verfügbar angenommen.

Es ist möglich, daß das Shellkommando den Wert 127 zurückgibt, d.h. daß dieser Wert kein eindeutiger Indikator dafür ist, daß der Aufruf von execve() fehlgeschlagen ist; prüfe errno zur Sicherheit.

SIEHE AUCH

sh(1) [Englisch], exec(2), signal(2).

1. Dezember 1996 SYSTEM (3) GNU

tail head cat sleep
QR code linking to this page


Bitte richten Sie Ihre Kommentare zu diesem Handbuch Seite Service, Ben Bullock. Privacy policy.