Notice
Recent Posts
Recent Comments
Link
취미생활
[Linux] 프로세스에서 사용 중인 파일 디스크립터 개수 확인하는 법 본문
su
password : [비번 입력]
cd /proc/<PID>/fd
각 프로세스 별 파일 디스크립터는 /proc/<PID>/fd 디렉토리에 저장된다.
프로세스의 pid는 pgrep으로 구할 수 있는데
pid를 개별적으로 구하기가 귀찮다면 아래 명령어로 한 번에 구할 수 있다.
cd /proc/`pgrep <프로그램 이름>`/fd
`는 ~를 shift 키를 누르지 않은 상태로 출력할 수 있다.
이렇게 실행하면 서브쉘로 pgrep을 실행해 pid를 가져온 뒤 바로 cd 명령어를 실행할 수 있다.
파일 디스크립터 보는 법을 알면 디버깅할 때 굉장히 편리하다.
가끔씩 로그 쓰레드나 소켓 통신 쓰레드가 미쳐 날뛰어서 파일 디스크립터를 1024개씩 만들어내는 경우가 있는데 이럴 때 통신이나 파일 입출력이 안되는 현상이 발생한다.
이러한 에러를 디버깅할 때 사용하면 굉장히 편하다.
물론, 가장 좋은 건 이런 현상을 겪지 않는 것이다.
여러분은 fclose와 close 함수를 빼먹지 않고 실행하는 습관을 가지길 바란다.
'컴퓨터 > Linux' 카테고리의 다른 글
Comments