NIO watchservice для файлов UNIX sys/classes/gpio

Можно ли установить JAVA NIO WatchService для файлов в /sys/class/gpio/gpioX дерево устройств для контроля изменений там?

Было бы неплохо обнаружить изменения в файлах GPIO (то есть входах GPIO) непосредственно из Java, но я боюсь, что это не поддерживается.

Подтверждение того, что оно не поддерживается (и, возможно, почему), будет достаточно.

1 ответ

Реализация linux Java 7 NIO FileWatcher использует inotify. Inotify - это подсистема ядра Linux, которая замечает изменения файловой системы. Он имеет ограничения и не работает с /proc, /sys и сетевыми ресурсами. Пожалуйста, прочтите ограничения inotify на вики:

Inotify сообщает о некоторых, но не обо всех событиях в sysfs и procfs.

Уведомление через inotify требует, чтобы ядро ​​знало обо всех соответствующих событиях файловой системы, что не всегда возможно для сетевых файловых систем, таких как NFS, где изменения, сделанные одним клиентом, не сразу передаются другим клиентам.

и немного больше:

сообщать о пропущенных событиях
Java WatchService не работает на некоторых папках
Java WatchService не генерирует события во время просмотра подключенных дисков

Другие вопросы по тегам