umount을 해결합니다.질문

2848 단어
umount 마운트 디렉토리가 필요할 때 다음과 같은 문제가 발생할 수 있습니다.
[root@localhost /]# umount /data/
umount.nfs: /data: device is busy

이 명령을 사용하여 다음을 봅니다.
[root@localhost /]# fuser -m -v /data/
       
/data/: root 2798 ..c.. bash
root 2996 ..c.. su

-v는 verbose 모드를 나타냅니다.PID, USER, COMMAND, ACCESS 필드를 포함한 프로세스를 ps로 표시
- m은 지정된 파일이 있는 파일 시스템 또는 블록 장치(mount 상태)를 나타냅니다.파일 시스템에 액세스하는 모든 프로세스가 나열됩니다.
위에서 보듯이 두 프로세스가 점용되었습니다.kill을 제거하고 다시 마운트를 취소합니다.
[root@localhost /]# kill -9 2798
[root@localhost /]# kill -9 2996
[root@localhost /]# umount /data/
[root@localhost /]#

 
fuser 개요fuser 명령은 지정한 file, file 시스템, sockets를 사용하고 있는 모든 프로세스 정보를 표시하는 데 사용됩니다.
[root@gc-statis2 ]# fuser -m -v tests/
       
tests/: root 7300 F.ce. php-fpm
www 7301 ..ce. php-fpm
www 7302 ..ce. php-fpm
www 7303 ..ce. php-fpm
www 7304 ..ce. php-fpm
www 7305 ..ce. php-fpm
www 7306 ..ce. php-fpm
www 7307 ..ce. php-fpm
www 7308 ..ce. php-fpm
www 7309 ..ce. php-fpm 
root 18891 ..c.. bash

또한fuser는 지정한 포트 (network port) 를 사용하는 프로세스를 찾을 수 있습니다.
[root@gc-statis2 ]# fuser -v -n tcp 80
       
80/tcp: root 7975 F.... nginx
www 7976 F.... nginx

fuser에서 자주 사용하는 장면fuser는 진단 시스템의'resource busy'문제에 사용되며,umount가 지정한 마운트 지점을 원할 때 발생합니다.지정한 file, file system or sockets 프로세스를 사용하고 있는 모든 kill을 원할 때 - k 옵션을 사용할 수 있습니다.
fuser –k /path/to/your/filename

이때fuser는/path/to/your/filename을 사용하는 프로세스에 SIGKILL을 보냅니다.보내기 전에 알림을 받고 싶으면 - i 옵션을 사용하십시오.
fuser –k –i /path/to/your/filename

오늘 이 문제에 부딪혀서 기록하려고 했는데 장면이 없어져서 옮겨 싣겠습니다.
https://www.cnblogs.com/saneri/p/5465718.html

좋은 웹페이지 즐겨찾기