2014-01-08 7 views
0

나는 파일 액세스가 발생한 모든 경로를 얻기 위해 fanotify 맨 페이지의 example을 사용했습니다. 하지만 난 단지 하나의 특정 폴더에서 모니터링 파일 액세스를 원한다./tmp/myfolder. 이를 위해 fanotify : 하나의 특정 폴더를 모니터하십시오 - 전체 파일 시스템이 아닙니다.

내가 내 특정 폴더 "/ tmp를/MyFolder에"를 추가 :

이벤트 마스크
fanotify_mark(fd, 
      FAN_MARK_ADD | FAN_MARK_MOUNT, 
      event_mask, 
      AT_FDCWD, 
      "/tmp/myfolder"))) 

: 만 얻을에 대한

static uint64_t event_mask = (FAN_OPEN | 
           FAN_EVENT_ON_CHILD); 

심지어 내가 FAN_ONDIR와 재생이 특별한에서 파일 - 액세스 디렉토리, 나는 전체 파일 시스템에서 모든 파일 핸들을 얻는다. sudo ./program을 사용하여 컴파일 된 프로그램을 시작합니다.

답변

1

FAN_MARK_MOUNT을 (를) 삭제 해보십시오. 그것은 경로를 포함하는 마운트 된 파일 시스템에 대한 모든 이벤트를 제공한다고 말할 수 있습니다.

+0

Thx! 그게 해결 됐어! – imizeropt