`umount --lazy` 이후에 장치에 액세스하는 프로세스를 나열합니다.

`umount --lazy` 이후에 장치에 액세스하는 프로세스를 나열합니다.

외장 하드 드라이브를 최대한 안전하게 제거하고 싶습니다.

내가 사용하고 싶은 umount --lazy:

게으른 제거. 이제 파일 계층에서 파일 시스템을 분리하고 더 이상 사용되지 않는 즉시 이 파일 시스템에 대한 모든 참조를 지웁니다. (커널 2.4.11 이상이 필요합니다.)

그런 다음 잠시 후 파일 시스템이 여전히 준 마운트 상태인 장치에서 파일이 열려 있는 모든 프로세스를 종료할 계획입니다.

  • lsof파일 시스템이 새 프로세스에 보이지 않게 되므로 열린 파일의 정확한 목록을 사용할 수 없습니다 .
  • lsofbefore를 사용하면 umount -l두 호출 사이에 새 파일을 여는 경쟁 조건이 발생합니다.

파일 시스템이 아닌 장치에 액세스하는 프로세스를 알아내는 방법이 있습니까?

답변1

lsof기기에서 사용 가능:

lsof +f -- /dev/device

답변2

볼륨을 읽기 전용으로 다시 마운트해 볼 수 있습니다. 이 작업은 볼륨에 쓸 내용이 없는 경우에만 작동합니다.

파일을 읽기 전용으로 열 수 있거나 프로세스가 볼륨에 현재 작업 디렉터리를 가질 수 있는 경쟁 조건에서 벗어날 수는 없지만 하드웨어를 분리하면 적어도 해당 파일 시스템이 다음과 같은지 확인할 수 있습니다. 거기에.

관련 정보