.\" all rights reserved.
.\" Translated 2007-02-04, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
.\"
-.TH TEE 2 2012\-05\-04 Linux "Linux Programmer's Manual"
+.TH TEE 2 2014\-12\-31 Linux "Linux Programmer's Manual"
.SH 名前
tee \- パイプの中身を複製する
.SH 書式
.\" add a "tee(in, out1, out2)" system call that duplicates the pages
.\" (again, incrementing their reference count, not copying the data) from
.\" one pipe to two other pipes.
-\fBtee\fP() は、ファイルディスクリプタ \fIfd_in\fP が参照するパイプからファイルディスクリプタ \fIfd_out\fP が参照するパイプへ最大
-\fIlen\fP バイトのデータを複製する。 この操作では、複製されるデータは \fIfd_in\fP からは消費されない。したがって、これらのデータをこの後の
-\fBsplice\fP(2) でコピーすることができる。
+\fBtee\fP() は、ファイルディスクリプター \fIfd_in\fP が参照するパイプからファイルディスクリプター \fIfd_out\fP
+が参照するパイプへ最大 \fIlen\fP バイトのデータを複製する。 この操作では、複製されるデータは \fIfd_in\fP
+からは消費されない。したがって、これらのデータをこの後の \fBsplice\fP(2) でコピーすることができる。
\fIflags\fP は一連の修飾フラグであり、 \fBsplice\fP(2) や \fBvmsplice\fP(2) と共通の名前である。
.TP 1.9i
エラーの場合、 \fBtee\fP() は \-1 を返し、 \fIerrno\fP にエラーを示す値を設定する。
.SH エラー
.TP
+\fBEAGAIN\fP
+\fBSPLICE_F_NONBLOCK\fP が \fIflags\fP に指定されていて、かつ操作が停止するような状態であった。
+.TP
\fBEINVAL\fP
\fIfd_in\fP と \fIfd_out\fP のどちらかがパイプを参照していない。もしくは \fIfd_in\fP と \fIfd_out\fP
が同じパイプを参照している。
.TP
\fBENOMEM\fP
-メモリ不足。
+メモリー不足。
.SH バージョン
\fBtee\fP() システムコールは Linux 2.6.17 で初めて登場した。
ライブラリによるサポートは glibc バージョン 2.5 で追加された。
概念としては、 \fBtee\fP() は二つのパイプ間でデータのコピーを行う。 しかし、実際には実データのコピーは行われない。 内部では、
\fBtee\fP() は入力側に対する参照だけを作成することで出力側にデータを 追加する。
.SH 例
-以下の例は、 \fBtee\fP() システムコールを使って、 基本的な \fBtee\fP(1) プログラムを実装したものである。
+以下の例は、 \fBtee\fP() システムコールを使って、 基本的な \fBtee\fP(1) プログラムを実装したものである。 以下は利用例である。
+
+.in +4n
+.nf
+$ \fBdate |./a.out out.log | cat\fP
+Tue Oct 28 10:06:00 CET 2014
+$ \fBcat out.log\fP
+Tue Oct 28 10:06:00 CET 2014
+.fi
+.in
+.SS プログラムのソース
.nf
#define _GNU_SOURCE
.SH 関連項目
\fBsplice\fP(2), \fBvmsplice\fP(2)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.54 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.78 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。