Сколько типов архитектуры и Ose

Никакая идея о решении для оболочки, но (принятие Linux1) inotify мог быть способ пойти... посмотрите, что этот пример подражает tail -F (использование pyinotify), возможно, это может использоваться в качестве основания для следующего весь каталог.

В целом, inotify может контролировать каталоги (цитирование man 7 inotify)

Следующие биты могут быть указаны в маске при вызове inotify_add_watch (2) и могут быть возвращены в поле маски, возвращенном чтением (2):

IN_ACCESS         File was accessed (read) (*).
IN_ATTRIB         Metadata changed, e.g., permissions, timestamps,
                    extended attributes, link count (since Linux 2.6.25),
                    UID, GID, etc. (*).
IN_CLOSE_WRITE    File opened for writing was closed (*).
IN_CLOSE_NOWRITE  File not opened for writing was closed (*).
IN_CREATE         File/directory created in watched directory (*).
IN_DELETE         File/directory deleted from watched directory (*).
IN_DELETE_SELF    Watched file/directory was itself deleted.
IN_MODIFY         File was modified (*).
IN_MOVE_SELF      Watched file/directory was itself moved.
IN_MOVED_FROM     File moved out of watched directory (*).
IN_MOVED_TO       File moved into watched directory (*).
IN_OPEN           File was opened (*).

При контроле каталога события, отмеченные со звездочкой (*) выше, могут иметь место для файлов в каталоге, в этом случае поле имени в возвращенной inotify_event структуре определяет название файла в рамках каталога.

(... и pyinotify тесно следует за опциями тезисов),

1: BSDs имеют подобную вещь, kqueue. Возможно, межплатформенным решением является достижимое использование GIO (привязка Python) как уровень абстракции, так как это может, около inotify, также используйте kqueue

0
25.03.2013, 00:03
2 ответа
Also, is there any better way of achieving this task?

Да, по крайней мере два пути прибывают по моему мнению:

  1. Можно распределить исходный код. "Unix" имеет давнюю традицию "мобильности" через исходный код. Обратите внимание, что и iperf и pathload являются distribuited по источникам и обоим использованию autoconf "предоставить" мобильность (и это не случайно). Необходимо "только" автоматизировать компиляцию в процедуре установщика приложения.
  2. Если Ваше выполнение приложения только на Linux, Вы могли бы использовать инструмент как Сервис Сборки openSUSE, который может быть used for development of the openSUSE distribution and to offer packages from same source for Fedora, Debian, Ubuntu, SUSE Linux Enterprise and other distributions. Необходимо "только" записать один конфигурационный файл, и OBS скомпилирует и упакует приложение для многих дистрибутивов Unix.

Очевидно, оба решения требуют, чтобы некоторое время и работа были реализованы.

1
28.01.2020, 02:37

Ядро Linux работает на большой архитектуре, arch каталог в его источниках перечисляет 32 (некоторые - действительно несколько, как x86 и x86_64, рука является истинным зоопарком). Общее количество - вероятно, примерно 50.

1
28.01.2020, 02:37

Теги

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