fs_usage
є вашим інструментом для цього.
Інструмент використання файлової системи є ідеальним, оскільки він підключається до подій файлової системи в режимі реального часу та скидає діяльність на файл або екран. Оскільки ви знаєте точний шлях до файлу, ви можете відфільтрувати всі тисячі невідповідних (до цього випадку) змін у файловій системі та побачити, що читає / записує у цей файл досить швидко.
Якщо ваш домашній каталог, /Users/me
тоді ви можете відфільтрувати/Users/me/aa
mac:~ me$ sudo fs_usage | grep /Users/me/aa
09:35:21 stat64 /Users/me/aa 0.000033 touch
09:35:21 utimes /Users/me/aa 0.000104 touch
09:35:21 fsgetpath /Users/me/aa 0.000119 Finder
09:35:22 lstat64 /Users/me/aa 0.000039 fseventsd
09:35:22 fsgetpath /Users/me/aa 0.000027 mds
09:35:22 getattrlist /Users/me/aa 0.000064 mds
09:35:22 listxattr /Users/me/aa 0.000012 mds
09:35:22 getattrlist /Users/me/aa 0.000130 mds
09:35:22 getattrlist /Users/me/aa 0.000033 mds
09:35:22 open /Users/me/aa 0.000071 mdworker_sha
09:35:22 RdData[AT2] /Users/me/aa 0.000331 W mdworker_sha
09:35:22 getattrlist /Users/me/aa 0.000042 mds
09:35:24 lstat64 /Users/me/aa 0.000114 rm
09:35:24 access /Users/me/aa 0.000209 rm
09:35:24 unlink /Users/me/aa 0.000909 rm
09:35:25 lstat64 /Users/me/aa 0.000042 fseventsd
09:35:25 lstat64 /Users/me/aa 0.000006 rm
(Примітка: я видалив багато білого простору вгорі - fs_usage команда виводить велику кількість порожнього простору , так що ви не можете легко побачити сенсорну команду на крайньому правому , якщо я копіювати / вставити точний результат.)
Тут я використовую touch
команду для створення файлу, додаю до нього рядок, а потім - rm
з командного рядка.
mac:~ me$ touch ~/aa
mac:~ me$ echo foo >> ~/aa
mac:~ me$ rm ~/aa
Буде створено багато інших програм, які читають, тож ви можете фільтрувати операції stat64 та lstat74, якщо навколо файлу буде занадто багато зчитування атрибутів та активності прожектора.
Сторінка керівництва для цієї команди є досить щільною (і не "як"), що є типовим, але кращим, ніж жодна документація від Apple, як її використовувати.