|
0 / 0 / 0
Регистрация: 09.05.2018
Сообщений: 54
|
||||||
Inotify tools чем заменить delete01.06.2019, 19:03. Показов 2825. Ответов 12
Имеется скрипт, который, по замыслу, отслеживает удаление папок, но e delete не работает, потому как файл не удаляется, а перемещается в корзину. Как это реализовать moved_from не правильно, так как он отслеживает даже переименование. Да и надо отслеживать именно удаление, а не перемещение. Пробовал реализовать moved_to с путем в корзину и одновременно moved_from папка мониторинга, но реализовать не получилось.
Чем заменить e- delete в Inotify-tools?
0
|
||||||
| 01.06.2019, 19:03 | |
|
Ответы с готовыми решениями:
12
Чем отличается delete[] от delete? |
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|||
| 01.06.2019, 19:54 | |||
|
1
|
|||
|
0 / 0 / 0
Регистрация: 09.05.2018
Сообщений: 54
|
|
| 01.06.2019, 22:15 [ТС] | |
|
Да но moved_from срабатывает и на переименование, а это неправильно
Добавлено через 1 час 12 минут Marinero, Можно ли обойтись без inotify, слишком плохо он работает, в смысле не смотрит удаление, вместо перемещения еще и переименование отслеживает?
0
|
|
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|
| 01.06.2019, 22:51 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 09.05.2018
Сообщений: 54
|
||||||
| 01.06.2019, 23:37 [ТС] | ||||||
|
Marinero, не подскажете, где ошибка
0
|
||||||
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|
| 02.06.2019, 11:51 | |
|
VictimofCSharp, интересный Вы человек... Предлагаете разбираться с криво написанным кодом не узнав даже его предназначения? Предоставьте информацию что именно Вы хотите получить (для чего составлена программа) и системные сообщения с ошибками/результаты работы Вашей команды - тогда и спрашивайте.
1
|
|
|
0 / 0 / 0
Регистрация: 09.05.2018
Сообщений: 54
|
|
| 02.06.2019, 13:49 [ТС] | |
|
Marinero, Код предназначен для отслеживания событий удаления папок из определенной директории. Он должен отслеживать только удаление, перемещение - нет, переименования - нет. Результат работы Inotfy moved_from срабатывает, проверено, но проверка на появление в корзине не срабатывает. Я вижу проблему в том, что мы задаем имя папки, которую удаляем переменной, поэтому сложно проверить наличие в корзине
0
|
|
|
|
|||||||||||
| 02.06.2019, 14:25 | |||||||||||
|
Не хочу разбираться что именно делает ваш скрипт, но вот по теме вопроса,
перемещение в корзину надо отлавливать с inotify как то так
На всякий случай напоминаю, при отладке по выходу например Ctrl+C необходимо убить висящие в фоне процессы
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 09.05.2018
Сообщений: 54
|
||||||
| 02.06.2019, 18:19 [ТС] | ||||||
|
nezabudka, Не подскажете, почему фильтр на папку не работает, мне надо только папки отслеживать
0
|
||||||
|
|
||||||||||||||||||||||||||
| 02.06.2019, 20:24 | ||||||||||||||||||||||||||
Сообщение было отмечено VictimofCSharp как решение
Решение
Потому что вы проверяете на существование директорию в отрыве от пути к ней.
Это бы сработало если бы текущей директорией была бы корзина.))) Также необходимо проверять только в корзине, поскольку по факту она будет находится на момент проверки именно там.
Однако я проверила при наличае одноименной папки в корзине этот код не сработает. А в облегченной версии
если вы перемещаете ее в другое место. Возможно второй вариант вполне приемлем только необходимо думаю добавить проверку на время Добавлено через 21 минуту Я нашла правильный вариант. При перемещении папки в корзину и при нахождении одноименной папки в корзине, корзина записывает ее с дополнительным расширением. Например Перемещаем в корзину два раза папку с именем ONE В корзине будет ONE и ONE.1 inotify во второй раз из корзины даст результат соответственно ONE.1 что не будет сопоставимо с удаляемой директорией Отсюда если разобраться такая проверка вообще будет не нужна, из анализа алгоритма получается если первый сигнал получен и считан второй то направление перемещения по факту уже считается правильным единственное услови необходимо вставлять вторую переменную из за возможного изменения расширения. Значит упращенный код в топку а следующий патч в продакшен!
Можно конечно добавить впереди проверку
Добавлено через 3 минуты Вполне возможно первый inotify вставить в цикл while Добавлено через 6 минут Да этот код работает отлично и с групповым удалением в перемешку с файлами и с одноименными директориями
1
|
||||||||||||||||||||||||||
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|
| 02.06.2019, 22:16 | |
|
nezabudka, зачем Вы мониторите Корзину? Какая куча ложных срабатываний будет? При удалении/перемещении из $HOME/test достаточно проверить что файл/папка с таким именем появилась/есть в Корзине. Если хотите можно еще проверять время/дату файла.
0
|
|
|
0 / 0 / 0
Регистрация: 09.05.2018
Сообщений: 54
|
|
| 02.06.2019, 22:20 [ТС] | |
|
Marinero, надо поставить фильтр, что только на папки, а так как уделенная папка может быть уже только в корзине, то мониторим именно ее
0
|
|
|
|
|
| 02.06.2019, 23:16 | |
|
Marinero, В последнем примере кода, если перемещения файлов делается не программно
ложные срабатывания вообще исключены. Потому что не возможно из файлового менеджера несколько файлов переместить в разные директории меньше чем за 0.1 секунды. И так как команда move последовательно работает с каждым файлом то и необходимые пары для нужного срабатывания будут появляться только последовательно. Все другие варианты будут ущербны. Думаю довольно не сложно при большой надежности. Ну и специфику переименования файлов самого менеджера при коллизиях я описала, с чем приходится считаться. Но я совсем не против увидеть что-то более рациональное
0
|
|
| 02.06.2019, 23:16 | |
|
Помогаю со студенческими работами здесь
13
сма DAEWOO DWD M1029A чем заменить транс, трансформатор в обрыве, чем заменить Работа с inotify Наблюдение за папкой, используя inotify
В чем преимущества операций new и delete по сравнению с функциями для работы с динамической памятью Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|