XYZ 프로세스에 의해 열린 파일은 다음 명령으로 찾을 수 있습니다
ls -l /proc/PID/fd
tail
x 초마다 자동 새로 고침 과 같은 대화식으로 수행 할 수있는 방법이 있습니까?
답변
다음 watch
명령을 시도하십시오 :
watch -n 10 ls -l /proc/$$/fd
조심해
당신은 구식 while 루프를 사용할 수 있습니다 :
while :
do
ls -l /proc/$$/fd
sleep 10
done
watch
데비안 기반 시스템 의 procps 패키지와 RedHat 파생 시스템 의 prorps rpm에 있습니다.
답변
열려있는 각 파일을 보려면을 사용하여 파일을 필터링하면됩니다 strace
. 예를 들면 다음과 같습니다.
strace -p _pid_of_app_ -e trace=open,close
답변
lsof
와 결합 할 수 watch
있습니다.
예를 들어 watch "lsof -p 1234"
2 초마다 pid 1234의 모든 열린 파일 목록이 표시됩니다. 필요에 따라 일부 매개 변수를 변경할 수 있습니다.
답변
명령 출력을 파일에 쓰는 bash 파일을 만들었습니다. 파일은 현재 날짜를 기준으로 생성되었습니다. 여기에서 열린 파일 수를 세고 있습니다.
#!/bin/bash
while :
do
cd /proc/<PID>/fd
today=$(date +"%m-%d-%Y")
filename="/tmp/${today}.txt"
ls -l | wc -l >> "${filename}"
sleep 10
done