Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

pclose - Pipe-Strom schließen

&pagelevel(4)&pagelevel

Definition

#include <stdio.h>

int pclose(FILE *stream);

Beschreibung

pclose() schließt den Datenstrom stream, der durch popen() geöffnet wurde, wartet auf die Beendigung des durch popen() gestarteten Kommandos und gibt dessen Endestatus zurück. Wenn jedoch der Endestatus für pclose() nicht verfügbar ist, wird -1 zurückgegeben und errno wird auf ECHILD gesetzt, um die Situation zu dokumentieren. Das kann eintreten, wenn die Anwendung den Endestatus bereits durch eine der folgenden Funktionen gelesen hat:

  • wait()

  • waitpid() mit einem pid-Argument, das kleiner oder gleich 0 oder gleich der Prozessnummer des Kommandointerpreters ist.

In jedem Fall kehrt pclose() nicht zurück, bevor der durch popen() erzeugte Sohnprozess beendet wurde.

Wenn der Kommandointerpreter nicht ausgeführt werden kann, liefert pclose() einen Endestatus, der dem entspricht, als ob der Kommandointerpreter durch exit(127) oder __exit(127) beendet worden wäre.

Returnwert

Endestatus des Kommandointerpreters



bei Erfolg.

 

-1

wenn stream nicht durch popen() erzeugt wurde

Fehler

pclose() schlägt fehl, wenn gilt:

 

ECHILD

Der Endestatus des Sohnprozesses konnte nicht ermittelt werden.

 

Erweiterung

 

EINVAL

Es wurde versucht, auf eine BS2000-Datei zuzugreifen. (Ende)

Hinweise

pclose() wird nur für POSIX-Dateien ausgeführt.

Siehe auch

fork(), popen(), wait(), waitpid(), stdio.h.