Yanıtlar:
watchKomutu deneyin :
watch -n 10 ls -l /proc/$$/fd
Saat güzel.
Döngü sırasında eski bir okul kullanabilirsiniz:
while :
do
ls -l /proc/$$/fd
sleep 10
done
watcholduğu PROCPS debian tabanlı sistemlerde paket ve PROCPS RedHat rpm sistemleriyle türetildiğini.
Her dosyayı açıldığı sırada görmek istiyorsanız, ile filtreleyebilirsiniz strace. Örneğin:
strace -p _pid_of_app_ -e trace=open,close
-yve -fbir kabuk içinde çalışan ayıklama şeye teşebbüs eğer. Sadece kabuk PID'sini geçirin ve -fçatalları takip edin.
Birleştirebilirsin lsofve watch.
Örneğin watch "lsof -p 1234", her 2 saniyede bir pid 1234'ün tüm açık dosyalarının bir listesini verecektir. İhtiyaçlarınızı karşılamak için bazı parametreleri değiştirebilirsiniz.
-rseçeneğinin farkında değildi lsof. Bu nedenle kullanılan watchyürütmek için lsofher iki saniyede.
Komutun çıktısını bir dosyaya yazdığım bir bash dosyası oluşturdum. Dosya geçerli tarihe göre oluşturuldu. Burada açık dosya sayısını sayıyorum.
#!/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