inotify

    [inotify] inotify로 watch 중인 파일을 vi(vim)나 gedit으로 수정 시 문제

    inotify API들을 이용해 파일이벤트들을 Watch 하는 과정에서 vi나 gedit으로 수정하면 IN_MODIFY 이벤트가 발생할 거라고 생각하시는 분들이 있습니다. vim 또는 gedit은 swap 파일을 생성하고 수정 후 파일을 대체하는 방식으로 진행하기에 vi나 gedit으로 수정 시 IN_MODIFY가 아니라 IN_IGNORED 이벤트가 발생합니다. Manual page에서 확인 시 아래와 같습니다. IN_IGNOREDWatch was removed explicitly (inotify_rm_watch(2)) or automatically (file was deleted, or filesystem was unmounted). See also BUGS. 이벤트를 확인하려는 파일이 만약 vim이나..

    [Inotify] 파일 이벤트 감시

    리눅스에서는 커널 2.6.13 부터 파일시스템 이벤트를 모니터링할 수 있는 메커니즘을 제공합니다. inotify와 dnotify인데요, 이 글에서는 inotify만 다룰 계획입니다. inotify가 dnotify를 대체하기 위한 녀석이기 때문이죠. Inotify는 파일이나 디렉토리를 개별적으로 모니터링 할 수 있도록 해줍니다. 여기서 한가지 유의할 점은 디렉토리 모니터링 시 재귀적으로 모니터링 되진 않는다는 것입니다. 만약 하위 모든 디렉토리를 모니터링 하기 위해선 각 디렉토리에 대해 모니터링을 하도록 해야합니다. 한가지 Inotify의 사용 예시를 생각해보죠. 여러분이 Daemon과 Daemon의 설정 파일을 제공한다고 가정했을 때, 누군가 설정파일을 변경 시 Daemon에서 이걸 알고 처리할 수 있도..