rexec(3N) rexec(3N)
NAME
rexec - Kommando an einem fernen Rechner ausführen
SYNTAX
#include <sys/socket.h>
int rexec(char **ahost, ushort rport, char *user,
char *passwd, char *cmd, int *fd2p);
BESCHREIBUNG
rexec() überprüft mit Hilfe von gethostbyname [siehe gethostent(3N)]
nach, ob der Rechner *ahost existiert. Wenn er nicht existiert, wird
-1 zurückgegeben, wenn er existiert, wird *ahost auf den Standardnamen
des Rechners gesetzt. Falls ein Benutzername und ein Kennwort angege-
ben sind, werden diese zur Berechtigung bei fremden Rechnern verwen-
det. Andernfalls wird die Umgebung und danach die Datei .netrc des
Benutzers in seinem Home-Verzeichnis nach der entsprechenden Informa-
tion durchsucht. Wenn dies alles fehlschlägt, wird der Benutzer zu
weiteren Eingaben aufgefordert.
Der Port inport gibt an, welcher bekannte Internet-Port für die Ver-
bindung zu verwenden ist. Das Protokoll für die Verbindung wird in
rexecd(1M) genauer beschrieben.
Wenn der Aufruf erfolgreich ist, wird ein Socket vom Typ SOCKSTREAM
an den Aufrufer zurückgegeben. Auf dem fernen Rechner wird ein Kon-
trollprozeß erzeugt, der das Kommando cmd ausführt. Die Standardein-
und -ausgabe des Kommandos wird auf den Socket umgelenkt. Wenn fd2p
ungleich Null ist, wird ein Hilfskanal zu einem Kontrollprozeß einge-
richtet. Ein Deskriptor für diesen Hilfskanal wird in fd2p abgelegt.
Der Kontrollprozeß auf dem fernen Rechner leitet die Stadardfehleraus-
gabe auf diesen Kanal um. Der Kontrollprozeß akzeptiert auf diesem
Kanal auch Daten, die als Bytes gesendet und als Signalnummern inter-
pretiert werden. Das betreffende Signal wird an die Prozeßgruppe des
Kommandos zugestellt. Wenn fd2p 0 ist, ist die Standard-Fehlerausgabe
des fernen Kommandos zusammen mit der Standardausgabe auf den Socket
gelenkt. In diesem Fall gibt es keine Möglichkeit, explizit Signale an
das Kommando zu schicken. Man kann aber "out-of-band"-Daten für die
Signalisierung verwenden.
HINWEISE
Es gibt keine Möglichkeit, Optionen an den socket()-Aufruf zu geben,
den rexec() durchführt.
SIEHE AUCH
rexecd(1M), gethostent(3N), getservent(3N).
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98