![`fuser`에 아무 것도 표시되지 않는 경우 저장 파일의 내용이나 마운트 지점을 어떻게 찾을 수 있나요?](https://linux55.com/image/198527/%60fuser%60%EC%97%90%20%EC%95%84%EB%AC%B4%20%EA%B2%83%EB%8F%84%20%ED%91%9C%EC%8B%9C%EB%90%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EA%B2%BD%EC%9A%B0%20%EC%A0%80%EC%9E%A5%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EB%82%B4%EC%9A%A9%EC%9D%B4%EB%82%98%20%EB%A7%88%EC%9A%B4%ED%8A%B8%20%EC%A7%80%EC%A0%90%EC%9D%84%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%B0%BE%EC%9D%84%20%EC%88%98%20%EC%9E%88%EB%82%98%EC%9A%94%3F.png)
일시 중지를 거부하는 노트북이 있습니다. 최신 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