가상터미널(pts) 모니터링에 대한 질문요.
글쓴이: devanix / 작성시간: 금, 2010/01/01 - 4:04오후
안녕하세요.
... fd1 = open("/dev/pts/0", O_RDONLY); fd2 = open("/dev/pts/1", O_RDONLY); ... while(1) { fd_set rfds; FD_ZERO(&rfds); FD_SET(fd1, &rfds); FD_SET(fd2, &rfds); n = select(fd2+1, &rfds, NULL, NULL, NULL); ... if (FD_ISSET(fd1, &rfds)) read.. write.. if (FD_ISSET(fd2, &rfds)) read.. write.. }
위의 예에서 처럼 2개의 가상터미널을 열어 select함수로 모니터링을 하고자 하면
가끔 한문자씩 받기는 하지만 생각한것처럼 나오지 않습니다.
[Q1]원하는 것은 가상터미널에서 타이핑한것을 모니터링 하고싶은데 무엇이 문제인지 원리가 잘 이해가 가지 않습니다.
[Q2] cat < /dev/pts/0 을 리다이렉션 해서 모니터링 하면 정작 /dev/pts/0에서 타이핑친건 echo가 되지 않코
cat을 호출한 프로세스에서만 문자열이 찍힙니다.
도움이 될만한 정보나 답변 부탁드려요.
좋은 하루 되세요.
Forums:
댓글 달기