2012-01-08 5 views
1

나는 inotifytools를 사용하여 디렉토리를 재귀 적으로 모니터링하고 있습니다. 나는 다음과 같은 명령을 사용할 때inotifytools 버그

inotifywait를 ./test -m 명령 후

, 나는 ./test/test2 가정 ./test에서 이사를 생성합니다. 그런 다음 test2 아래에서 뭔가를 수행하면 파일을 삭제하거나 파일을 추가하는 등의 이벤트가 발생하지 않은 것이 매우 이상합니다.

test2에는 시계가없는 것 같습니다.

버그입니까 아니면 그냥 잘못된 방식으로 사용하고 있습니까?

답변

-1

inotify 시계는 단지 재귀 적이 지 않습니다. (즉, 깊은 수준의 알림을하려는 경우 디렉토리 당 하나가 필요합니다입니다.)

+0

내가 inotify를 재귀하지 알고있다. 하지만 inotifytools는 http://inotify-tools.sourceforge.net/입니다. – Edison

1

man 1 inotifywait, 다음과 같은 출력을 얻을 것이다 :

-r, --recursive
시계 어떤의 모든 서브 디렉토리 디렉토리는 인수로 전달됩니다. 시계는 재귀 적으로 무제한 깊이로 설정됩니다. 심볼릭 링크는 통과하지 않습니다. 새로 생성 된 하위 디렉토리도 감시됩니다.
경고 : 큰 트리의 루트 디렉터리를 보면서이 옵션을 사용하면 모든 inotify 감시가 설정되고이 시간에 이벤트가 수신되지 않을 때까지 꽤 오래 걸릴 수 있습니다. 또한 하위 디렉토리 당 하나의 inotify watch가 설정되기 때문에 사용자 당 최대 inotify watch 수에 도달 할 수 있습니다. 기본 최대 값은 8192입니다. 그것은/proc/sys/fs/inotify/max_user_watches에 기록함으로써 증가 될 수있다.

기본적으로는 하위 디렉토리를 모니터링하지 않으므로 강제로 -r, --recursive 옵션이 필요합니다. 그래서 당신이 필요로하는 명령은 다음과 같이 될 것입니다 :

inotifywait를 -rm 테스트