Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ popen(3) — NEWS-os 4.1C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

pipe(2)

fopen(3S)

fclose(3S)

system(3)

wait(2)

sh(1)

POPEN(3)  —  NEWS-OS Programmer’s Manual

名称

popen, pclose − プロセスへ、またはプロセスからの I/O の初期設定

形式

#include <stdio.h>

FILE ∗popen(command, type)
char ∗command, ∗type;

pclose(stream)
FILE ∗stream;

解説

popen の引数は、 ナル文字で終了する文字列のポインタで、 それぞれシェルコマンド列と I/O モードを含みます。 I/O モードは、 読み込み用の ‘r’、 または書き出し用の ‘w’ のどちらかです。 popen は、 呼び出しプロセスと実行コマンドの間にパイプを作成します。 返される値は、 ストリームポインタで、 これは、 コマンドの標準入力に書き込むことや、 標準出力から読み込むことができます。

popen によってオープンされたストリームは、 pclose によってクローズしなければなりません。 この場合、 popen は対応するプロセスの終了を待ち、 コマンドの終了ステータスを返します。

オープンファイルは共有されますので、 タイプ ‘r’ のコマンドは入力フィルタとして、 タイプ ‘w’ のコマンドは出力フィルタとして使用できます。

関連事項

pipe(2), fopen(3S), fclose(3S), system(3), wait(2), sh(1)

診断

ファイルあるいはプロセスが作成できなかった場合、 またはシェルがアクセスできなかった場合、 popen はナルポインタを返します。

stream が‘popenされた’コマンドと対応していない場合、 pclose は −1 を返します。

バグ

入力フィルタをオープンする前に、 入力をバッファリングすると、 フィルタの標準入力の位置がずれます。 出力フィルタに関する同じ問題は、 たとえば fflush を用いて注意深くバッファのフラッシュを行うことによって、 発生を防止することができます。 fclose(3S) を参照して下さい。 popen は、 常に sh を呼び出し、 決して csh を呼び出しません。

NEWS-OSRelease 4.1C

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026