
래퍼 프로그램을 통해 Java 애플리케이션을 실행하는 Centos 6.7이 있습니다. 그래서 먼저 이것을 실행했습니다.
lsof -p 15200 | wc -l and I got the results immediately as 200
다음으로 이것을 실행했는데 lsof -p 15232 | wc -l
계속 너무 오래 걸리고 아무런 결과도 생성되지 않았습니다. 열려 있는 전체 파일을 가져오는 데 사용할 수 있는 다른 방법은 무엇입니까? 특정 시간이 지나면 시스템이 계속 응답하지 않는 원인을 알아야 합니다. 열린 파일 크기를 늘려야 할 수도 있습니다.
답변1
다음을 수행하여 PID로 식별된 프로세스(예: 15232)에서 열린 파일 수를 얻을 수 있습니다.
ls -l /proc/15232/fd | wc -l
~로부터데비안 목록:
나는 다음의 의미를 알아내려고 노력하고 있습니다.
/proc/$PID/fd/*
파일.
이는 pid가 $PID인 프로세스의 열린 파일을 가리키는 링크입니다. Fd는 "파일 설명자"를 의미하며 UNIX 계열 시스템에서 프로그램 입력 또는 출력을 식별하는 정수입니다.
lsof
이는 실제로 명령이 프로세스 파일을 제공하기 위해 정보를 마시는 곳이기도 합니다 .
이는 Linux 커널의 기능이며 배포판에 구애받지 않습니다.