Saya mencoba men-debug aplikasi di Ubuntu - Saya perlu mendengarkan upaya membuka file (bahkan untuk file yang tidak ada).
Process Monitor (sebelumnya dikenal sebagai FileMon ) tersedia di Windows - apa yang ada di sabuk utilitas Ubuntu?
Terima kasih!
Ashley
Itu tergantung pada apa yang Anda inginkan:
Secara umum, Anda ingin melihat inotify untuk melihat semua akses file yang dibuat oleh proses apa pun.
Dalam yang kecil, strace akan membiarkan Anda menonton syscalls proses tertentu. Strace sangat mengagumkan. Anda dapat melacak panggilan proses untuk 'membuka' dengan melakukan
strace -f -eopen $cmd
, misalnya. The halaman manual memiliki rincian lengkap tentang sintaks, tentu saja.sumber
strace
di depan aplikasi awal adalah baik untuk menonton apa yang sedang dilakukan aplikasi.lsof
senang melihat file mana yang menggunakan aplikasi yang sudah berjalan.BTW:
lsof -ni:22
menunjukkan proses mana yang menggunakan Port 22.sumber
SGI memiliki alat yang mungkin ingin Anda coba: http://oss.sgi.com/projects/fam/
sumber
Berikut adalah contoh penggunaan strace untuk melacak perubahan file:
strace -f -e trace=file -p7546 -o /tmp/outputfile
-f
memastikan bahwa peristiwa dari proses anak ditangkap.-e trace=file
mengatakan bahwa kita harus menangkap terkait berkas syscalls (misalnyastat
,open
,futex
dll)-p
adalah proses ID (diambil darips -aux
atau cara lain)-o
yang ditentukan outputfile yang (mungkin ada banyak data dan Anda malah bisa menggunakan grep sebagai filter.sumber
Coba sysdig . Sebagai contoh:
sumber
Ini meminta bantuan oleh Mortadelo. http://gitorious.org/mortadelo
sumber
Ini sudah tua, tapi saya pikir itu ide yang bagus untuk memperbaruinya untuk kenyataan hari ini.
Untuk debug hanya satu proses dan anak-anak mereka, strace masih menjadi cara terbaik. Itu dapat dengan mudah menunjukkan semua akses file, bahkan pada file yang hilang.
Untuk debug sistem generik, fitur audit dalam kernel dapat melakukan itu dan merupakan cara yang disarankan. Tidak perlu patch pada kernel terbaru, hanya paket audit yang diinstal
di sini adalah gui sederhana untuk menggunakannya:
audit-gui
Ini mereplikasi filemon windows, memonitor akses file untuk semua tempat, proses, dll
periksa juga posting ini
sumber
Inilah yang bekerja dengan baik untuk saya (Linux Mint 19.1):
sudo lsof 2>&1 | grep programnamehere
Tidak yakin mengapa
2>&1
diperlukan, tetapi tidak disaring kecuali saya menggunakannya.sumber