오늘 발생한 문제인데.

리눅스 32비트 운영체제는 기본적으로 파일을 2기가 까지 사용할수가 있다
그런데 로그파일이 2기가를 넘어가버리는 경우가 있다
간단히 아파치 로그도 관리 안하면 간단히 2기가 넘어간다.

로그를 쌓기 위해서 fprintf 를 사용하고
로그를 바로 저장하기 위해서 fflush 를 사용할때
File size limit exceeded
파일 크기 한계 초과
이런 종류의 에러를  콘솔에 뿌리고 프로그램이 종료해버렸다


이럴 경우의 대책은 여러가지가 있을수 있는데

== 하나 ==
우선은 2기가 한계이니
gcc 로 컴파일옵션중
-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
를 선언해준다.

간단히 설명하면 파일 관련 함수를 함수명 변경없이 그대로 64비트처리를 해주게 된다.
그래서 2기가 이상의 파일을 취급할수 있게 해준다.

== 둘 ==
fflush 하면서 시그널을 발생해서 프로그램을 종료시키는것이므로
해당 시그널을 무시하도록 한다
signal(SIGXFSZ, SIG_IGN);
를 통해서 시그널을 무시하게 되면
fflush에서 단순히 오류만 발생할뿐 종료하지는 않게 된다.

참고로 좀 전에 테스트해본결과로는 disk full 일 경우는 별도의 시그널을 발생하지 않고
그냥 fflush에서 에러만 리턴한다
고로 따로 처리해줄 사항은 없다.

아.... 02:49....
지금까지 지지고 볶고 해서 나온 결론이다..
이제 자야지.. ㅠㅠ


크리에이티브 커먼즈 라이센스
Creative Commons License
2008/04/30 02:49 2008/04/30 02:49

Trackback URL : http://simplelife.pe.kr/tc/trackback/538

Leave a comment


뚜는 지금.. 사랑해사랑해
과연 깜작이는..
남자B형염소자리서울

Categories

전체 (605)
뚜.. 서툰.. (375)
폰 이야기 (13)
나의 길 (73)
읽을거리 (21)
사진갤러리 (124)

Recent Posts

  1. SNS Terminal
  2. 와이브로 사용한다면 올레 와이파이 멀...
  3. Java Decomplier 설정 및 오류 해결.
  4. 쩝.. 이젠 장년층인가..
  5. MyLocationOverlay 사용시 갤럭시A에...

Recent Comments

  1. 자세한 설명 .. 감사합니다. kim 2011
  2. 몇 년 지나면 이제 노년층일세... 서툰걸음 2011
  3. 아~놔... 이 글 왤케 웃기지 ㅋㅋㅋ 김기영 2011
  4. 사진이 있으면 좋은데 글로만 적어놔서... 서툰걸음 2011
  5. 도움이 많이 되었습니다. 감사합니다!! konahn 2011

Recent Trackbacks

  1. 방화벽 막힌곳에서 무선랜을 이용해서 ... A 2010

Bookmarks

  1. ATOMOS
  2. c3cc3's Homepage
  3. 봄실
  4. 우중산보... 그 싱그러운 여유

86

56

google chart api graph

-30 days

today : 43

Site Stats

TOTAL 186033 HIT
TODAY 43 HIT
YESTERDAY 61 HIT