외장 하드 드라이브를 최대한 안전하게 제거하고 싶습니다.
내가 사용하고 싶은 umount --lazy
:
게으른 제거. 이제 파일 계층에서 파일 시스템을 분리하고 더 이상 사용되지 않는 즉시 이 파일 시스템에 대한 모든 참조를 지웁니다. (커널 2.4.11 이상이 필요합니다.)
그런 다음 잠시 후 파일 시스템이 여전히 준 마운트 상태인 장치에서 파일이 열려 있는 모든 프로세스를 종료할 계획입니다.
lsof
파일 시스템이 새 프로세스에 보이지 않게 되므로 열린 파일의 정확한 목록을 사용할 수 없습니다 .lsof
before를 사용하면umount -l
두 호출 사이에 새 파일을 여는 경쟁 조건이 발생합니다.
파일 시스템이 아닌 장치에 액세스하는 프로세스를 알아내는 방법이 있습니까?
답변1
lsof
기기에서 사용 가능:
lsof +f -- /dev/device
답변2
볼륨을 읽기 전용으로 다시 마운트해 볼 수 있습니다. 이 작업은 볼륨에 쓸 내용이 없는 경우에만 작동합니다.
파일을 읽기 전용으로 열 수 있거나 프로세스가 볼륨에 현재 작업 디렉터리를 가질 수 있는 경쟁 조건에서 벗어날 수는 없지만 하드웨어를 분리하면 적어도 해당 파일 시스템이 다음과 같은지 확인할 수 있습니다. 거기에.