파일 시스템 Solaris에서 어떤 프로세스를 쓰고 있는지 확인하는 방법

파일 시스템 Solaris에서 어떤 프로세스를 쓰고 있는지 확인하는 방법

어떤 프로세스가 디스크에 논스톱으로 쓰고 있는지 확인해야 합니다.

실행 중인 프로세스 목록을 얻기 위해 실행을 시도했지만 prstat -t어떤 프로세스인지 식별/찾을 수 없습니다.

를 실행한 후에는 df -k디스크의 지정된 경로에 있는 공간이 계속 감소하는 것을 볼 수 있습니다.

디스크에 쓸 수 있는 모든 프로세스를 종료하고 모든 외부 연결을 닫은 후에도 디스크에 기록되는 내용이 남아 있습니다.

운영 체제Solaris 10

답변1

실제 IO 작업은 표시되지 않지만 다음을 사용할 수도 있습니다.fuser유틸리티파일 시스템을 사용하여 프로세스를 식별하는 방법, 실제 IO를 발생시키지 않거나 특정 프로세스로 역추적할 수 없는 방식으로 IO를 수행하는 프로세스( mmap()파일은 그 중 하나이며 파일은 다음 mmap()을 통해 수행될 수 있음) 여러 프로세스):

요약

/usr/sbin/fuser [-c | -d | -f] [-nu] [-k | -s sig] files 
     [ [- ] [-c | -d | -f] [-nu] [-k | -s sig] files] ...

설명하다

Fusion 유틸리티는 인수로 지정된 파일을 사용하는 프로세스의 프로세스 ID를 표시합니다.

각 프로세스 ID 뒤에는 알파벳 코드가 옵니다. 이러한 문자 코드는 아래에 설명되어 있습니다. 프로세스가 파일을 다음과 같이 사용하는 경우

c는 프로세스가 파일을 현재 디렉터리로 사용하고 있음을 의미합니다.

m은 프로세스가 mmap(2)을 통해 매핑된 파일을 사용하고 있음을 나타냅니다. 자세한 내용은 mmap(2)을 참조하십시오.

n은 프로세스가 파일에 대해 비차단 필수 잠금을 보유하고 있음을 나타냅니다.

o는 프로세스가 파일을 열린 파일로 사용하고 있음을 나타냅니다.

r은 프로세스가 파일을 루트 디렉터리로 사용하고 있음을 나타냅니다.

t는 프로세스가 파일을 텍스트 파일로 사용하고 있음을 나타냅니다.

y는 프로세스가 파일을 제어 터미널로 사용하고 있음을 나타냅니다.

예:

홈 디렉토리가 에 마운트된 별도의 파일 시스템에 있다고 가정하면 /export/homeIO를 수행하지 않지만 해당 파일 시스템에 현재 작업 디렉토리가 있는 프로세스를 포함하여 해당 파일 시스템에서 어떤 방식으로든 파일을 사용하는 모든 프로세스가 표시됩니다. 이 파일 시스템에서 매핑된 메모리:

fuser -c /export/home

관련 정보