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

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

Ответ 1

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

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

Ответ 2

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

Ответ 3

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

$lsof | grep [whatever]

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

Ответ 4

Более быстрый способ:

$ 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

Ответ 5

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