Saya ingin dapat melacak file dan melihat proses mana yang menyentuh file itu. Apakah itu mungkin? Saya tahu bahwa saya dapat melihat daftar proses terbuka di monitor aktivitas tetapi saya pikir itu terjadi dengan cepat bagi saya untuk melihatnya. Alasannya adalah saya menggunakan kerangka kerja dan saya pikir versi sistem kerangka kerja yang digunakan, bukan versi debug, dan saya ingin melihat proses mana yang menyentuhnya.
93
Jawaban:
lsof
akan menampilkan file-file yang terbuka, tetapi ini bisa menjadi sedikit canggung untuk sentuhan sesaat (misalnya, jika file tidak terbuka saat lsof dijalankan, itu tidak muncul).Saya pikir taruhan terbaik Anda adalah fseventer.app fernLightning . Ini adalah "nagware", dan memungkinkan Anda untuk menonton (secara grafis) API fsevents secara real-time.
sumber
lsof | grep myfilename
bekerja untuk saya. Saya memiliki file PDF di Sampah yang diklaim oleh sistem sedang digunakan. Anehnyalsof
mengklaim itu sedang digunakan olehPreview
tetapiPreview
tampaknya tidak berjalan (misalnya ketika saya memerintahkan-tab melalui aplikasi yang sedang berjalan) tetapiActivity Monitor
menunjukkannya sedang berjalan. Pratinjau Bodoh.Sederhana saja:
sudo fs_usage | grep [path_to_file]
sumber
sudo fs_usage | grep musiclibrary
tidak menunjukkan apa-apa selainsudo lsof | grep musiclibrary
menunjukkan 3 proses mengakses file database perpustakaan musik saya.Tapi saya menghabiskan 2 menit Googling dan menemukan jawaban Anda di sini .
sumber
Cara yang lebih cepat adalah:
Solusi ini tidak memerlukan kata sandi root dan memberi Anda kembali hasil berikut, jelas,:
sumber
Pilihan lainnya adalah Sloth . Ini adalah GUI open source gratis untuk LSOF yang telah disebutkan orang lain.
sumber