Yanıtlar:
watch
Komutu 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
watch
olduğ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
-y
ve -f
bir 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 lsof
ve 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.
-r
seçeneğinin farkında değildi lsof
. Bu nedenle kullanılan watch
yürütmek için lsof
her 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