리다이렉션이나 파이프 사용할 때 강제로 플러싱 하는 방법?
글쓴이: fastwater / 작성시간: 일, 2015/03/22 - 10:21오후
종료 되지 않고 while문 안에서 계속해서 stdout으로 메세지가 출력 되는 프로그램이 있습니다.
이 프로그램에서 나오는 출력을 리다이렉션을 사용해서 파일로 뽑아 보고 싶은데... 아래와 같이 실행 해 보면...
./program > a.log
이렇게 실행 할 때 출력 되는 양이 적어서 그런지 플러싱이 안되서 프로그램이 종료 되기 전 까지는 정상적으로 동작을 하질 않네요.
사실 프로그램 상에서 플러싱을 해 주면 되긴 하지만... 프로그램 수정은 불가능한 상황이라;;
혹시 방법이 없을까요?
Forums:
제가 지금 리눅스 앞에 없어서 해보지는 못했는데 이런
제가 지금 리눅스 앞에 없어서 해보지는 못했는데 이런 글이 있네요.
http://serverfault.com/a/294651
좋은 하루 되세요!
답변 감사합니다!
어제 계속 찾아보다가 stdbuf를 찾아서 해봤는데 잘 되더군요.
문제는 제가 쓰는 환경에서 stdbuf를 못 쓰는 상황이라...
stdbuf 소스코드 다운 받아서 보니 putenv로 환경변수 바꿔서 execvp로 실행파일 바꿔치는 식으로 하던데 열심히 분석 해봐야겠습니다.
실수로 로그인을 안하고 댓글을 달았네요.
흐...
댓글 달기