2010-03-26 2 views
4

내가 사용하는 몇 가지 스크립트에서 간헐적 인 문제가 있습니다.
파일을 삭제하려고 할 때 스크립트가 실패하는 경우가 있습니다. 파일이 다른 프로세스에 의해 액세스되기 때문에 오류 로그에 따라. 파일에 수행 된 이전 작업이 끝난 후 창에 파일을 릴리스 할 시간이 없다고 추측합니다.프로그램을 닫은 후 파일을 창에 잠글 수있는 기간은 얼마입니까?

Windows에서 파일을 다시 릴리스해야하는 시간이 어느 정도 예상되는가요?

답변

2

Windows 응용 프로그램이 파일 작업을 마친 경우 즉시 파일 핸들을 닫았 기 때문에 즉시 닫아야합니다. 파일 닫기 작업 후 파일의 잠금을 해제하는 데 시간이 지연되지 않습니다.

프로그램이 파일 핸들을 닫는 것을 잊지 만 끝나면 Windows는이를 즉시 해제합니다. 일반적으로 길지는 않지만 시간이 많이 걸릴 수도 있습니다. 몇 초가 걸릴 것으로 보지 못했습니다. 그러나 잠기지 않도록 적절한 정리 작업을 수행해야합니다.

또한 모든 프로그램이 잠긴 방식으로 파일을 열지는 않습니다. 다른 프로세스에 부여 할 액세스 유형을 지정하는 파일을 열 수 있으며 파일의 일부를 잠글 수도 있습니다. 다른 프로세스에 대한 전체 읽기/쓰기 권한으로 파일을 열 수 있습니다.

파일 핸들을 닫지 않은 프로세스를 제어 할 수는 없지만 실행해야하는 경우 몇 초 동안 파일을 계속 시도하기 위해 루프를 작성할 수 있습니다. 다른 사용자가 게시되면서 파일이 올바르게 종료 된 경우

0

, 그것은 즉시 수행해야합니다 - indetminate 지연으로 OS의 종류까지를, 그렇지 않으면 ...

항상 올바르게 자원을 항상 처분 .

관련 문제