Temukan Aplikasi atau Proses Apa yang Berinteraksi dengan File di Mac OS X

Dengan menggunakan perintah lsof, kita dapat mengetahui proses atau aplikasi apa yang menggunakan file tertentu pada saat itu. Ini mirip dengan perintah opensnoop, tetapi daripada melihat perubahan pada file dari waktu ke waktu, lsof dapat memberi kita snapshot saat ini, yang dapat membantu untuk tujuan pemecahan masalah.

lsof /path/to/filename

Sebagai contoh, untuk melihat apa yang berinteraksi dengan dengan /var/log/system.log, kami mengarahkannya ke file itu:

$ lsof /var/log/system.log
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Console 84281 Will 8r REG 14, 2 140239 71929128 /private/var/log/system.log

Dalam hal ini aplikasi yang menggunakan system.log adalah "Konsol". Sekali lagi, ini menunjukkan kepada kita snapshot pada saat perintah lsof dieksekusi, tetapi dengan menggunakan perintah opensnoop yang disebutkan sebelumnya, Anda dapat mengikuti proses apa yang menggunakan file itu secara real time:

sudo opensnoop -f /var/log/system.log

Hal di atas akan menghasilkan melihat sesuatu seperti ini:
$ sudo opensnoop -f /var/log/system.log
Password:
UID PID COMM FD PATH
501 84358 cat 3 /var/log/system.log
501 45411 console 3 /var/log/system.log
0 15 syslogd 16 /var/log/system.log

Dalam hal ini Anda mencari di bawah "COMM" untuk nama proses, atau PID untuk id proses.

Ingat bahwa Anda bisa pergi dengan cara yang berlawanan dengan opensnoop juga, dan menunjukkan semua file aplikasi menggunakan dengan mengarahkan perintah pada aplikasi atau proses, daripada file.