lsof -p 12345
akan mendaftar semua file yang dibuka oleh proses yang pid adalah 12345 tetapi hanya untuk waktu tertentu.
Bagaimana kita bisa terus memantau proses dari awal hingga akhir (sampai proses dihentikan) untuk membuat daftar / menampilkan setiap file yang diakses oleh proses selama masa pakainya?
Jawaban:
Coba dengan
strace -p 12345
; itu harus melakukan apa yang ingin Anda capai.Outputnya dapat difilter untuk hanya menampilkan file yang dibuka ( komentar Dan D. ):
Catatan: Anda juga dapat melacak proses yang berjalan dengan cepat
strace -e open <command>
.sumber
strace -p {pid} | grep -i "Open" | tee files_opened.log
. Kuncinya adalahgrep
, yang memungkinkan Anda memfilter output untuk panggilan sistem yang Anda inginkan (misalnyaopen()
).strace
bisa melakukan itu lebih baik daripadagrep
dengan-e
opsi:strace -e open
Fatrace utilitas baru akan melakukan ini: https://launchpad.net/fatrace/
Jangan gunakan opsi -p, itu berarti kebalikan dari apa artinya di lsof atau utilitas lain.
sumber
Ini akan mengulang menjalankan perintah Anda dan membersihkan layar setiap kali:
PERINGATAN: ini akan kehilangan akses file cepat dan hanya cocok untuk melihat file lama
sumber
strace
.lsof