Есть ли какое-либо приложение, которое проверяет, какие файлы читает, изменяет запущенная программа и т.д., И может предоставить мне их список?
3 ответа
Для Windows посмотрите на два инструмента Sysinternals (с тех пор, как они были приобретены Microsoft):
- Process Explorer: какие файловые дескрипторы используются в любой момент времени.
Если [ProcessExplorer] находится в режиме дескриптора, вы увидите дескрипторы, которые открыл процесс, выбранный в верхнем окне; если Process Explorer находится в режиме DLL, вы увидите DLL и отображенные в памяти файлы, загруженные процессом.
- Монитор процессов: отслеживание всех обращений к файловой системе с помощью процесса (или пути, или ...)
Process Monitor - это расширенный инструмент мониторинга для Windows, который в режиме реального времени показывает файловую систему, реестр и активность процессов / потоков.
- handle - это еще один инструмент Sysinternals, похожий на Process Explorer тем, что в нем перечислены дескрипторы файлов процессов, но это консольное приложение, в отличие от двух других.
Это зависит от того, какую ОС вы используете, но BSD-подобные ОС, такие как Mac OS X, имеют fs_usage.
На платформах Unix вы можете использовать lsof | grep <pid> OR lsof -p <pid>
для просмотра всех файлов, открытых определенным процессом.Однако в нем не указано, какие файлы читаются или записываются.
Однако может быть создан скрипт для вычисления контрольных сумм файлов, чтобы узнать, пишется ли он или нет.