Как узнать, какие программы читают мой файл?

Первый ответ работает хорошо, но не с именем каталога, содержащим пробелы. (исправленная логика, потому что это было что-то 50Kb или больше)

#RESULTTODELETE=$(find ~/foo -mindepth 1 -maxdepth 1 -type d -exec du -ks {} + | awk '$1 <= 50' | cut -f 2-); RESULTTODELETE2=$(echo "$RESULTTODELETE" | sed 's, ,\\ ,g'); echo "$RESULTTODELETE2" | xargs rm -rf

Будет работать с:

~/f oo/a lpha
~/fo o/be ta
~/f o o/ep silon
~/foo/gamma
6
11.06.2017, 01:48
1 ответ

Наблюдение за тем, какие файлы открывает процесс или какие процессы открывают файл, кажется задачей sysdig.

Со страницы примеров sysdig

Basic opensnoop: файл snoop открывается по мере их появления

sysdig -p "%12user.name %6proc.pid %12proc.name %3fd.num %fd.typechar %fd.name" evt.type=открытый

Наблюдение за операциями ввода/вывода для всех файлов с именем my.conf

sysdig -A -c echo_fds "fd.filename=my.conf"

Fom man sysdig

ИМЯ sysdig — исчерпывающий инструмент для устранения неполадок в системе и процессах

ОБЗОР sysdig [опция]... [фильтр]

ОПИСАНИЕ.

sysdig — это инструмент для устранения неполадок, анализа и исследования системы.
рацион. Его можно использовать для захвата, фильтрации и декодирования системных вызовов.
и другие события ОС.
sysdig можно использовать как для проверки работающих систем, так и для создания трассировки.
файлы, которые могут быть проанализированы на более позднем этапе.

sysdig включает в себя мощный язык фильтрации, имеет настраиваемый внешний
поставить, и может быть расширен с помощью Lua-скриптов, называемых chisels.
8
27.01.2020, 20:25

Теги

Похожие вопросы