UNIX에서 시스템 다운됐을때 임시파일 알아서 지워지게 하는 방법

1
point

안녕하세요!
unix에서요....
시스템이 다운되어도 작업중인 임시파일은 계속 남아있게 되서
그게 보안상 문제가 생길수도 있고,,한데,
그냥 다운이 돼도 임시파일이 지워질 수 있게 하면 좋을때가 있는데,
그걸 어떻게 하는건가요 ㅠㅠ 혹은 왜 그렇게 하는건가요,,
아 저는 컴공 정말 왜왔나 싶어요;;
이게 시험 문제에 나온다는데 아무리 공부해도 모르겠어요 ㅠㅠ

unlink 해서 레퍼런스카운터 하나 감소 시키면 된다는데
이게 무슨말인지 도무지 모르겠어요..

아시는 분 얼른 답좀 해주시면 감사하겠습니다!!

ironiris의 이미지
6089
points

켜질때 지워지게

1
point

켜질때 지워지게 하면 되지 않을까요?
아니면 램드라이브 하나 만들고 거기에 임시파일을 저장하시던가요. ^^;

superkkt의 이미지
4647
points

임시파일을 만들고

2
points

임시파일을 만들고 해당 파일 디스크립터를 close하지 않은 상태에서 바로 unlink를 시키면 됩니다. 이렇게 하면 파일시스템 상에서는 파일이 지워진것처럼 보이지만(ls에서 안나옵니다) 아직 이 파일을 사용하는 프로세스(임시파일을 만든)가 사용중이기 때문에 실제로 파일이 존재합니다. 따라서 임시파일을 만들때 할당받은 파일 디스크립터를 사용해서 프로그램은 계속 임시파일을 사용하면되고, 나중에 프로그램이 종료되면 그때 파일은 완전히 제거됩니다.

======================
BLOG : http://superkkt.com

댓글 보기 옵션

원하시는 댓글 전시 방법을 선택한 다음 "설정 저장"을 누르셔서 적용하십시오.