Посмотрите, какой процесс использует файл в Mac OS X

Я хотел бы иметь возможность отслеживать файл и видеть, какой процесс касается этого файла. Это возможно? Я знаю, что могу видеть список открытых процессов в activity monitor, но я думаю, что это происходит быстро для меня, чтобы увидеть его. Причина этого в том, что я использую фреймворк, и я думаю, что системная версия фреймворка используется вместо отладочной версии, и я хотел бы видеть, какой процесс касается ее.

5 ответов


lsof будет список открытых файлов, но это может быть немного неудобно для мгновенных касаний (например, если файл не открыт при запуске lsof, он не отображается).

Я думаю, что ваш лучший выбор будет fernLightning fseventer.app. Это "nagware", и позволяет вам смотреть (графически) API fsevents в режиме реального времени.


все просто: sudo fs_usage | grep [path_to_file]


но я провел 2 минуты в Гугле и нашел ответ здесь.

$ lsof / grep [что угодно]

где [whatever] заменяется именем файла, которое вы ищете. С помощью этого вы можете увидеть, какая программа отчаянно держится за вашу о-К-быть-разбил файл. Как только вы выйдете из этой программы, Ваш мусор будет пустой.


более быстрый путь:

$ lsof [path_to_file]

это решение не требует пароля root и возвращает вам следующий результат:

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
Finder     497  JR7   21r   REG    1,2   246223 33241712 image.jpg
QuickLook 1007  JR7  txt    REG    1,2   246223 33241712 image.jpg

другой вариант:лень. Это бесплатный графический интерфейс с открытым исходным кодом для LSOF, о котором упоминали другие.