Nice programing

Linux에서 파일을 사용하는 프로세스를 어떻게 알 수 있습니까?

nicepro 2020. 10. 16. 08:06
반응형

Linux에서 파일을 사용하는 프로세스를 어떻게 알 수 있습니까?


을 사용하여 Linux에서 파일을 제거하려고했지만 rm -rf file_name오류가 발생했습니다.

rm: file_name not removed.  Text file busy

이 파일을 사용하는 프로세스를 어떻게 알 수 있습니까?


다음 fuser과 같은 명령을 사용할 수 있습니다 .

fuser file_name

파일을 사용하는 프로세스 목록을 받게됩니다.

더 자세한 출력을 받기 위해 다른 플래그를 사용할 수 있습니다.

퓨저의 Wikipedia 기사 또는 man페이지 에서 자세한 정보를 찾을 수 있습니다 .


@jim의 대답이 맞습니다- fuser당신이 원하는 것입니다.

추가로 (또는 대안으로) lsof프로세스를 종료하기위한 권한 (추가 명령을 실행할 필요없이)이 필요한 경우 사용자 이름을 포함한 추가 정보를 얻기 위해 사용할 수 있습니다 . (물론 프로세스를 죽이는 것이 당신이 원하는 것이라면, fuser-k옵션으로 그렇게 할 수 있습니다. 당신은 옵션 fuser과 함께 다른 신호를 사용할 수 있습니다 -s-자세한 내용은 man 페이지를 확인하십시오.)

예를 들어, tail -F /etc/passwd하나의 창에서 실행되는 경우 :

ghoti@pc:~$ lsof | grep passwd
tail      12470    ghoti    3r      REG  251,0     2037 51515911 /etc/passwd

lsof특정 소켓을 사용하는 프로세스를 찾는 데 사용할 수도 있습니다 . 당신의 무기고에있는 훌륭한 도구입니다.

참고 URL : https://stackoverflow.com/questions/24554614/how-find-out-which-process-is-using-a-file-in-linux

반응형