Автор Тема: Доступ к файлу  (Прочитано 7684 раз)

Оффлайн him

  • Завсегдатай
  • *
  • Сообщений: 1 044
Доступ к файлу
« : 25.04.2018 14:36:13 »
Подскажите пожалуйста, можно как то посмотреть какие приложения читали файл ?

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 205
Re: Доступ к файлу
« Ответ #1 : 25.04.2018 15:26:42 »
Подскажите пожалуйста, можно как то посмотреть какие приложения читали файл ?
Вот здесь https://www.ibm.com/developerworks/ru/library/l-inotify/ расписано как в принципе это делать и пример тестовой программки
ЗЫ. Про lsof и strace, я надеюсь, Вы уже в курсе?

ЗЗЫ. Поиск дал вот такую прогу: fswatch
В готовом виде её в репозитарии нет, но исходники здесь: https://github.com/emcrisostomo/fswatch
« Последнее редактирование: 25.04.2018 15:58:30 от Alexander Yereshenko »

Оффлайн him

  • Завсегдатай
  • *
  • Сообщений: 1 044
Re: Доступ к файлу
« Ответ #2 : 25.04.2018 16:49:14 »
Спасибо за ссылки, буду смотреть.

До этого смотрел strace, но результата пока не получил.

Так же как и до конца не понял почему греп не срабол:
$ strace -c >/dev/null ls | grep close
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 21.50    0.000129           4        35           mmap
 20.00    0.000120           5        26         2 open
 13.33    0.000080           5        16           mprotect
 10.83    0.000065           3        26           close
 10.17    0.000061          31         2           getdents
  8.33    0.000050           2        25           fstat
  5.33    0.000032           4         9           read
  2.67    0.000016           8         2         1 statfs
  1.83    0.000011           6         2         2 access
  1.67    0.000010          10         1           munmap
  1.33    0.000008           3         3           brk
  1.17    0.000007           7         1           execve
  1.00    0.000006           2         3         3 ioctl
  0.50    0.000003           3         1           write
  0.33    0.000002           2         1           arch_prctl
------ ----------- ----------- --------- --------- ----------------
100.00    0.000600

Мне казалось то должна была остаться только одна строка:
 10.83    0.000065           3        26           close

А нет.
« Последнее редактирование: 25.04.2018 16:57:38 от him »

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 205
Re: Доступ к файлу
« Ответ #3 : 25.04.2018 20:02:40 »

До этого смотрел strace, но результата пока не получил.

Так же как и до конца не понял почему греп не срабол:
$ strace -c >/dev/null ls | grep close

Мне казалось то должна была остаться только одна строка:
 10.83    0.000065           3        26           close

А нет.
Сработал, но только в виде:
ls | grep closestrace выводит не в stdout, а в stderr, так что скорее надо было писать так:
strace -c  ls 2>&1 | grep closeА лучше фильтровать события ключом -e и ключом -o выводить результат в файл, который уже потом обрабатывать чем угодно (напр. sed)