linux 에서 exit() 로 프로그램 종료시 메모리나 FD 를 해제 하지 않은 경우 어떻게 되나요?
글쓴이: trymp / 작성시간: 금, 2014/05/23 - 4:24오후
linux 에서 다음코드와 같이 malloc() 이나 fopen() 한 경우 free() 나 fclose() 를
호출하지 않았을 때 exit() 호출시 resource 누수가 생기나요? 아니면 OS 에서 알아서 해제를 해주나요?
그외에 다른 곳에서 해당 프로세스로 kill -9 한 경우도 동일한지 알고 싶습니다.
int main(int ac, char *av[]) { char *p = malloc(100); FILE *fp = fopen("/aa.txt", "r"); exit(0); }
Forums:
?
당연히 OS 가 알아서 해제를 해줍니다. 현대 운영체제에서 저런 걸로 인해 전체 시스템 누수가 발생하면 어떤 사태가 벌어질 지 예상하실 수 있을 것입니다.
댓글 달기