umount 할때 device is busy 에러가 나는 원인이 뭐가 있나요?
글쓴이: you / 작성시간: 토, 2003/08/02 - 4:23오후
우선은
#mount /dev/fd0 /mnt/floppy
했을경우
#cd /mnt/floppy
해서 현재 이 디렉토리에서 작업중일때는
언마운트하면 위와같은 에러가 나지요
그 이외에는 어떤때 그럴까요?
얼마전에도 질문을 올렸었는데...
fork하고 exec해서 마운트를 수행한 후
부모는 기다렸다가 마운트포인트에 파일을 생성합니다
그러고 또 fork하고 exec해서 언마운트를 수행하는데
여기서 자꾸 위와같은 에러가 나네요
제생각엔 부모가 마운트포인트에서
작업을 수행하고 거기 남아있어서 그럴꺼라 생각해서
chdir()함수를 넣어서 작업디렉토리를 바꿔줬지만
여전히 에러가 나네요
도움을 부탁드립니다.
감사합니다.
Forums:
혹시...
파일때문에 그런건 아닐까요? 파일 디스크립터가 남아 있다거나 하는 식으로...
해본적은 없습니다만, mount해놓은 디렉토리에서 xmms로 mp3를 듣는도중에 umount하면 device busy가 나와야 할텐데요.
아마 test하고 있는 프로그램 자체가 Mount Point 내의 어떤
아마 test하고 있는 프로그램 자체가 Mount Point 내의 어떤 파일을 open하고 있는것 같네요.
프로세스의 cwd가 현재의 mount point와 무관하다 하더라도, 프로세스에 의해 mount point의 directory tree내의 어떤 파일이 열려있다면 umount 시 Device Busy 에러가 납니다.
Test 프로그램을
1. "mount, 파일 및 디렉토리 생성 후 종료"
2. "umount"
이렇게 분리한다면 error가 나지 않을것 같네요.
댓글 달기