The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Оповещения об изменениях в файловой системе в Linux"
Версия для распечатки Пред. тема | След. тема
Форум Программирование под UNIX
Исходное сообщение [ Отслеживать ]

. "Оповещения об изменениях в файловой системе в Linux" +/
Сообщение от foxru (ok), 01-Сен-04, 19:15 
>Можно ли получать оповещения об изменениях в файловой системе (вроде помещен/удален файл
>в конкретной директории) и о попытке доступа к файлу?


небольшой пример нарытый в свое время через google на одном японском сайте

#define _GNU_SOURCE
#include <fcntl.h>
#include <signal.h>
#include <stdio.h>
#include <unistd.h>

static volatile int event_fd;

static void handler(int sig,siginfo_t *si, void *data){
    event_fd = si->si_fd;
}

int main(void){
    struct sigaction act;
    int fd;

    act.sa_sigaction = handler;
    sigemptyset(&act.sa_mask);
    act.sa_flags = SA_SIGINFO;
    sigaction(SIGRTMIN, &act, NULL);

    fd = open(".", O_RDONLY);
    fcntl(fd, F_SETSIG, SIGRTMIN);
    fcntl(fd, F_NOTIFY, DN_MODIFY|DN_CREATE|DN_MULTISHOT);
    for(;;){
        pause();
        printf("%d\n",event_fd);
    }
    return 0;
}

и список флажков

DN_ACCESS (read)
DN_MODIFY (write,truncate)
DN_CREATE
DN_DELETE
DN_RENAME
DN_ATTRIB (chmod,chown)

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Оповещения об изменениях в файловой системе в Linux, ival, 25-Авг-04, 14:44  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру