C 언어에서 파이프에서 읽을 데이터를 소비하지 않고 다른 파이프로 복제하고 싶을 때 tee()를 쓴다.
헤더와 선언
#include <fcntl.h>
ssize_t tee(int fd_in, int fd_out, size_t len, unsigned int flags);반환값과 주의점
복제한 바이트 수를 반환한다. 오류는 -1이며 버퍼 상태에 따라 일부만 처리할 수 있다.
셸의 tee 명령과 이름은 같지만 C 함수의 두 대상은 파이프 디스크립터다. 원본 파이프의 데이터는 읽은 것으로 처리되지 않는다.
답글 달기