Life in Colours | 그 남자의 하루

hyomini's Blog is powered by Tistory / Original Designed by Qwer999

'flush buffer'에 해당되는 글 1건

  1. 2006/12/15 펄 프로그래밍 - PRINT OUT 버퍼링 문제
뭐 어떻게 보면 굳이 문제랄 것까지는 없는 부분입니다만, LOG파일 분석할 때 가장 최근 내용이  때로는 무슨 내용이 있어야 분석하고 말고 할꺼 아니겠어요.

열심히 스크립트를 작성하고, 꼼꼼하게 로그파일까지 만들어지게 해두었는 데 막상 tail -f 'FILENAME' 신공으로 로그파일을 좀 보려니, 왠걸 아무것도 들어있지 않는 경우가 발생합니다. 한참을 뒤적거리다가 펄 자체의 버퍼링이 관련이 있다는 것을 발견했습니다.

Suffering from Buffering?

요는, 펄 자체에서 좀 더 효율적으로 메모리 관리를 하기 위해서 바로 바로 쏟아내는 게 아니라 버퍼링 시켜서 조금 모아뒀다가 한번에 쏟아낸다고 하네요. (쏟아낸다는 표현이 껄끄럽긴 하지만)

자세한 내용은 위 사이트를 보시면 되겠고, 다른 건 다 귀찮고 그냥 방법만 알면 된다 하시는 분은 사이트에서 Flushing on Command 항목을 보시면 되겠네요. 표현이 조금 우습지만, 파일 핸들러를 뜨겁게 만들어서 버퍼를 바로 토해내게(!!) 만드는 겁니다!

               my $ofh = select OUT;
               $| = 1;
               print OUT "\n";
               $| = 0;
               select $ofh;

를 통해, print OUT 에 쌓여있던 버퍼를 한번에 뿜어내는 것이죠. 그때 그때 로그 파일이 작성되기 때문에 저한테는 굉장히 유용하네요. :D
s_tudies/linux 2006/12/15 15:15 by hyomini
Leave a Comment
1 
분류 전체보기 (466)
l_ife (166)
o_pen thought (105)
v_ibe (92)
e_ntertainment (82)
s_tudies (18)