Мне нужно знать все файлы, которые открыты в веб-браузере (особенно Google Chrome).
Сейчас мне удалось найти только нужные мне результаты с lsof
, так как это довольно низкоуровневый запрос операционной системы. В основном я использую lsof
, а затем просматриваю возвращаемый список и определяю, загружаются ли какие-либо файлы, а затем предпринимаю некоторые действия на основе этого результата.
Проблема, с которой я столкнулся, заключается в том, что lsof
- процессорная свинья даже в хороший день. Иногда я бью стену, где lsof
просто сходит с ума, а lsof
нужно убить вручную. Я должен верить, что Chrome делает что-то смешное, так как кажется, что это единственное нехорошее приложение, которое вызывает эту проблему для lsof
.
Я бы хотел иметь лучший способ обнаружения активности загрузки, но не смог бы найти ничего надежного.
Похоже, что в Chrome открыт какой-то дескриптор файла, с которым lsof
не может справиться или который заставляет его отнимать серьезное количество процессорного времени. (Мне интересно, может ли проблема быть в гигантском файле с отображением в памяти, который Chrome использует в качестве своей собственной системы виртуальной памяти или что-то в этом роде?) Поскольку эта проблема не возникает постоянно, я пытаюсь найти варианты lsof
для macOS, который может вести себя немного лучше ...