File yang dibuka oleh proses XYZ dapat ditemukan dengan perintah
ls -l /proc/PID/fd
Adakah yang bisa dilakukan dengan cara yang lebih interaktif seperti tail
menyegarkan otomatis setiap x detik?
File yang dibuka oleh proses XYZ dapat ditemukan dengan perintah
ls -l /proc/PID/fd
Adakah yang bisa dilakukan dengan cara yang lebih interaktif seperti tail
menyegarkan otomatis setiap x detik?
Coba watch
perintah:
watch -n 10 ls -l /proc/$$/fd
Menonton itu bagus.
Anda bisa menggunakan old school while loop:
while :
do
ls -l /proc/$$/fd
sleep 10
done
watch
ada dalam paket procps pada sistem berbasis debian dan rpm procps pada sistem turunan RedHat.
Jika Anda ingin melihat setiap file saat dibuka, Anda dapat memfilternya dengan
strace
. Sebagai contoh:sumber
-y
dan-f
jika Anda mencoba men-debug sesuatu yang berjalan di shell. Cukup berikan PID shell dan-f
ikuti setiap garpu.Anda bisa menggabungkan
lsof
danwatch
.Misalnya
watch "lsof -p 1234"
akan memberi Anda daftar semua file yang terbuka dari pid 1234 setiap 2 detik. Anda dapat mengubah beberapa parameter untuk memenuhi kebutuhan Anda.sumber
-r
opsi untuklsof
. Karena itu saya biasawatch
mengeksekusilsof
setiap dua detik.Saya membuat file bash di mana saya menulis output dari perintah ke file. File dihasilkan berdasarkan tanggal saat ini. Di sini saya menghitung jumlah file terbuka.
sumber