fdopen()은 fd를 fp로 변환해준다.
int fileno(FILE *stream); FILE *fdopen(int fildes, const char *mode); [링크 : http://linux.die.net/man/3/fileno] [링크 : http://linux.die.net/man/3/fdopen] |
아무튼 원하는 파일이나, stdin/out/err에 대한 fd를 얻어온뒤
fcntl() 함수를 이용하여 변경하면 된다.
fctnl(fd, F_SETFL, O_NONBLOCK);
(테스트 안해봣음!)
int fcntl(int fd, int cmd, long arg); F_SETFL Set the file status flags to the value specified by arg. File access mode (O_RDONLY, O_WRONLY, O_RDWR) and file creation flags (i.e., O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC) in arg are ignored. On Linux this command can only change the O_APPEND, O_ASYNC, O_DIRECT, O_NOATIME, and O_NONBLOCK flags. [링크 : http://linux.die.net/man/2/fcntl] [링 크 : http://www.falinux.com/win/study/06/devicedriver11.html] |
'Linux' 카테고리의 다른 글
터미널을 통한 데이터 통신에서 0x11이 사라졌어요 (0) | 2010.04.02 |
---|---|
ls 용량별로 정렬하기 (0) | 2010.04.01 |
sshd 프로세스의 [priv] 는 모지? (0) | 2010.03.26 |
fdisk를 자동화하기? (non interative mode fdisk) (0) | 2010.03.25 |
mkfs에는 quick format 없나요? (0) | 2010.03.19 |