Существует ли эквивалент.Net FileSystemWatcher в мире Linux?

Логически ИЛИ вы должны использовать это: Для логики ИЛИ, разделенной запятой (,)

@CucumberOptions(plugin = { "pretty" },
features = { "features" },
glue = { "stepdefs" },
tags = { "@SmokeTestCases,@SanityTestCases" })

Логически И вы должны использовать это: Для логики И, разделенных кавычками ("")

@CucumberOptions(plugin = { "pretty" },
features = { "features" },
glue = { "stepdefs" },
tags = { "@SmokeTestCases","@SanityTestCases" })
8
задан Luke 27 November 2008 в 17:29
поделиться

4 ответа

Это было бы Беспризорником File Alteration Monitor или Inotify.

Править: Моно действительно имеет привязку Беспризорника - на самом деле, его реализация FileSystemWatcher использует Беспризорника. https://www.mono-project.com/docs/faq/technical/#what-are-the-issues-with-filesystemwatcher.

Каковы проблемы с FileSystemWatcher?

Моно реализация FileSystemWatcher имеет много бэкендов, самый оптимальный, тот с меньшим количеством зависимостей является inotify-бэкендом (доступный в Моно 1.1.17 и более новых версиях).

С этим бэкендом ядро обеспечивает Моно обновлениями на любых изменениях в файлах в файловой системе, но это требует inotify-поддерживающего ядра, которое только поставляют более новые дистрибутивы Linux.

В более старых системах Linux Вы, должно быть, установили FAM или Беспризорника (он будет работать с любой одним). Вам, возможно, понадобились бы-devel установленные пакеты.

Для *семейство BSD, существует базирующаяся реализация Kqueue, которая будет использоваться при обнаружении во времени выполнения.

Если ни одна из вышеупомянутой работы, Моно падения назад к опросу каталогов для изменений, который совсем не оптимальный.

13
ответ дан 5 December 2019 в 05:00
поделиться

При использовании замечательной библиотеки QT (www.qtsoftware.com), она включена как QFileSystemWatcher.

2
ответ дан 5 December 2019 в 05:00
поделиться

Как имеет уже быть сказанным, Моно имеет класс "Система. IO.FileSystemWatcher", это - необходимая ссылка: http://www.go-mono.com/docs/monodoc.ashx?link=T%3aSystem.IO.FileSystemWatcher

"Реализация Mono FileSystemWatcher имеет несколько бэкендов. Это необходимо, потому что не все операционные системы, поддерживаемые Моно, имеют все функции, необходимые для обеспечения функциональности, ожидаемой приложениями.

Если каталоги наблюдения поддержек ядра операционной системы (inotify на Linux, KEvents на BSD или OSX), что функция используется; Иначе это отступает к пользованию библиотеками Gamin или FAM (эти библиотеки обеспечивают API для контроля каталогов), и если ни одна из тех функций не доступна, Моно опросит каждые 750 миллисекунд наблюдаемые каталоги.

Можно вызвать поведение опроса (вместо того, чтобы использовать поддержку ядра) путем установки переменной среды MONO_MANAGED_WATCHER прежде, чем выполнить приложение. Это могло бы быть полезно для файловых систем, которые не поддерживают inotify и все еще требуют, чтобы опрос обнаружил изменения."

6
ответ дан 5 December 2019 в 05:00
поделиться

Да, dnotify и inotify.

Я не знаю, если бы Моно перенесли их, но это стоило бы проверить.

2
ответ дан 5 December 2019 в 05:00
поделиться
Другие вопросы по тегам:

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