Попробуйте watch
команда:
watch -n 10 ls -l /proc/$$/fd
Часы хороши.
Вы могли использовать старый школьный цикл с условием продолжения:
while :
do
ls -l /proc/$$/fd
sleep 10
done
watch
находится в procps пакете в базирующихся системах debian, и procps об/мин на Redhat получил системы.
Я создал файл удара, где я писал вывод команды в файл. Файл был сгенерирован на базисную текущую дату. Здесь я - целое число открытых файлов.
#!/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
Если вы хотите видеть каждый файл в момент его открытия, вы можете отфильтровать его с помощью strace
. Например:
strace -p _pid_of_app_ -e trace=open,close