클라이언트가 접속할때마다 fork해서 서비스하는 구조입니다. child process는 같은 log file을 사용하구요.. log file을 오픈할때 O_APPEND 플래그를 사용했습니다.
이 경우에는 file locking을 사용하지 않아도 각 프로세스가 파일의 끝에 정확히 write를 하게되나요? 로그가 섞일만한 테스트 환경을 구성하는걸 못해서 테스트를 못해보고 있네요.. :puzzled:
O_APPEND를 썼다면 대부분의 경우에 두 프로세서가 동시에 파일에 쓸 경우에도 서로 섞이지 않고 파일에 씁니다. 다만... 파일이 NFS에 있을 경우, 서로 섞이게 될 가능성이 있다고 합니다.
-- C FAQ: http://www.eskimo.com/~scs/C-faq/top.html Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html Korean Ver: http://cinsk.github.io/cfaqs/
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
O_APPEND를 썼다면
O_APPEND를 썼다면 대부분의 경우에 두 프로세서가 동시에 파일에 쓸 경우에도 서로 섞이지 않고 파일에 씁니다. 다만... 파일이 NFS에 있을 경우, 서로 섞이게 될 가능성이 있다고 합니다.
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
댓글 달기