안녕하세요? 하나의 프로세스가 있습니다.
이녀석은 start command를 받으면 현재 지정된 디렉토리에 fix된 이름의 파일이 있는지 확인 후, 있으면 unlink로 파일 삭제 후,
바로 open으로 파일을 생성하여 그파일에 데이터를 다운로드 받습니다.
문제는 stop command를 받고 다시 start command를 받아 위에 처리되는 fix된 파일이 있으면 unlink로 삭제를 하고 바로 open을
하는데 open success는 되지만, 실제 물리적인 파일은 삭제가 되지 않고 그대로 남아 있어 disk space가 계속 늘어나는 현상이
발생하고 있습니다.
unlink가 ref count가 0이면 바로 삭제가 되는것으로 알고 있는데 위 상황에선 분명 0인데 물리적인 파일은 삭제가 되지 않고
있는것 같습니다. unlink는 i-node table의 link만 끊어버리고 혹시 나중에 process 종료 시, 처리가 되는것인지... 궁금하네요.
또한 이런경우 어떻게 처리를 해줘야 할지도 궁금합니다.