`fuser`에 아무 것도 표시되지 않는 경우 저장 파일의 내용이나 마운트 지점을 어떻게 찾을 수 있나요?

`fuser`에 아무 것도 표시되지 않는 경우 저장 파일의 내용이나 마운트 지점을 어떻게 찾을 수 있나요?

일시 중지를 거부하는 노트북이 있습니다. 최신 Ubuntu에서 전원을 끌 수 있는 유일한 방법은 전원 버튼을 누르는 것입니다.

그 이유는 nfs오프라인 상태의 공유가 있고 무언가가 여전히 여기에 데이터를 제출하려고 하기 때문입니다. 나열된 모든 항목을 종료했지만 sudo fuser여전히 사용 중입니다. 파일 시스템을 닫을 수 없기 때문에 poweroff 명령도 중단됩니다.

kill아직 무엇이 남아 있는지 확인 unmount하고 수동으로 강제로 닫는 대신 강제로 일시 중지할 수 있나요?

답변1

때로는 파일에 액세스할 때 파일을 열 필요가 없는 경우 프로세스 파일 설명자에서 파일이 표시되지 않을 수도 있습니다. 예를 들어, stat(2)시스템 호출은 파일을 실제로 열지 않고도 파일 상태를 가져오므로 프로세스의 파일 설명자에서는 해당 파일을 볼 수 없습니다.

D 상태(무중단 절전 모드)에 있는 프로세스를 검색해 보고 이것이 디스크를 계속 사용하게 하는 프로세스인지 이해하기 위해 상식을 사용할 수 있습니다.

ps -eo pid,ppid,start,user,state,comm |grep -w D

운이 좋다면 NFS 공유를 보유하고 있는 프로세스를 찾아서 해당 프로세스를 종료한 다음 unmount디스크를 종료할 수 있습니다.

답변2

방해 요인이 무엇인지 신경 쓰지 않고 종료/일시 중지 등을 원하는 경우 이를 사용하여 볼륨을 강제로 마운트 해제하고 데이터 손실 가능성에 대해 경고할 수 있습니다(그러나 더 나쁜 영향을 미치지는 않음). 강제 종료보다). 그렇더라도 NFS에 합법적으로 액세스할 수 없는 경우에만 이 작업을 수행하고 싶을 것입니다.

umount -f -l /foo/nfs

참고로: https://linux.die.net/man/8/umount

관련 정보