popen()을 통해 top를 실행시켜 Cpu 사용률을 파싱해 오는 간단한 모듈을 만들었는데, 오래 실행을
시킬경우 Too many open files이란 오류가 나면서 제대로 된 동작을 하지 않았다.
ulimit –a에서 open files를 보면 1024가 default값으로 지정되어 있는데, ulimit –n 을 통해 늘리면 오류가
좀 더 시간이 흐른 후 나타난다. 하지만 이건 임시 방편일 뿐이고, 실제
문제는 다른 곳에 있었다.
popen()으로 오픈한 fp를 close()를 통해 닫아주고 있었는데, man popen을 쳐보니 pclose()가
짝으로 있었다. pclose()로 바꿔주니 잘~된다.
That sound good ;)
답글삭제you are best enginner