FUSER(1) | 사용자 명령 | FUSER(1) |
fuser - 파일 또는 소켓을 사용하는 프로세스를 식별합니다
fuser [-fuv] [-a|-s]
[-4|-6] [-c|-m|-n
<영역>] [ -k [-i] [-M]
[-w] [-<시그널>] ]
<이름> ...
fuser -l
fuser -V
fuser 는 지정 파일 또는 파일 시스템을 사용하는 프로세스의 PID를 나타냅니다. 기본 표시 모드에서, 각 파일 이름 다음에는 접근 형식을 나타내는 문자가 따라옵니다:
fuser 는 지정 파일에 접근한 사용자가 없거나 치명적인 오류가 있을 경우에 0이 아닌 코드 값을 반환합니다. 적어도 하나 이상의 접근 사용자 또는 프로세스를 찾으면, fuser에서 0값을 반환합니다.
TCP와 UDP 소켓으로 프로세스를 찾아보려면, 해당 이름 영역을 -n 옵션으로 선택해야합니다. fuser는 기본적으로 IPv6와 IPv4 소켓을 둘 다 찾아봅니다. 기본 동작을 바꾸려면 -4와 -6 옵션을 사용하십시오. 소켓은 로컬 또는 원격 포트, 원격 주소로 지정할 수 있습니다. 모든 필드는 옵션이지만, 빠진 입력란 앞에는 반드시 쉼표를 넣어야 합니다:
[<로컬_포트>][,[<원격_호스트>][,[<원격_포트>]]]
기호 문자 또는 숫자 값을 IP 주소와 포트 번호로 사용할 수 있습니다.
fuser 는 PID만을 표준 출력으로 내보내며 나머지는 표준 오류로 내보냅니다.
동일한 파일 또는 파일 시스템에 동일한 방식으로 여러번 접근하는 프로세스는 한번만 나타냅니다.
동일한 개체를 명령행에 여러번 지정하면, 일부 항목은 무시합니다.
fuser는 권한 없이 실행할 경우 일부 정보를 가져오지 못할 수 있습니다. 이 결과로, 다른 사용자가 소유한 프로세스에서 연 파일은 목록에 나타나지 않으며, 매핑한 실행 파일로 분류한 요소만 나타납니다.
fuser는 권한이 없는 파일 서술자 테이블의 프로세스 정보를 나타낼 수는 없습니다. 대부분의 경우 이런 문제는 fuser를 일반 사용자로 실행할 때 TCP 또는 UDP 소켓을 찾아볼 때 나타납니다. 이 경우 fuser에서는 접근 권한이 없다고 알려줍니다.
fuser SUID 루트를 설치하면 일부 정보를 조회하는 관련 문제를 막아주긴 하지만, 보안 및 사생활 문제로 적절하지 못합니다.
udp 와 tcp 이름 영역, 유닉스 도메인 소켓은 1.3.78 버전 이전 커널에서는 검색할 수 없습니다.
커널 접근은 -v 옵션으로만 나타납니다.
-k 옵션만 프로세스를 처리할 수 있습니다. 사용자가 커널이라면, fuser 에서 지침을 나타내긴 하지만 그 이상의 동작은 취하지 않습니다.
fuser는 다른 마운트 이름 영역에서 프로세스가 마운팅한 블록 장치는 보여주지 않습니다. fuser가 아닌 프로세스 이름 영역의 프로세스 파일 서술자 테이블에 장치 ID가 나타나서 결과적으로 일치하지 않기 때문입니다.
fuser -m /dev/sgX 명령 (또는 -k 플래그로 강제로 끝냄) 은 해당 장치를 설정하지 않아도 모든 프로세스를 보여줍니다. 이런 동작을 취하는 다른 장치가 있을 수도 있습니다.
-m 마운트 옵션은 동일한 장치에서 지정한 파일과 일치하는 어떤 파일이든 찾겠지만, 마운트 지점을 지정하기만 할 경우 -M 옵션을 활용하십시오.
fuser는 stat(2) 과 /proc/<PID>/maps의 장치 ID가 달라 btrfs(5) 파일 시스템에서의 경우 프로세스 공유 라이브러리 같은 매핑 파일을 찾아내지 못합니다.
kill(1), killall(1), stat(2), btrfs(5), lsof(8), mount_namespaces(7), pkill(1), ps(1), kill(2).
2022-11-02 | psmisc |