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