inotify 패키지

38 views
Skip to first unread message

Jongmin Kim

unread,
Nov 3, 2011, 9:29:59 PM11/3/11
to golang...@googlegroups.com
리눅스 커널 2.6.13부터 지원된다는 inotify (파일시스템의 읽기, 쓰기, 삭제, unmount 등을 감시/통지) 가 Go에서도 패키지로 구현되어 있네요.
유용하게 쓸 곳이 많아 보입니다.. 

inotify.go
--------------------------------------------------------------
package main

import (
        "log"
        "os/inotify"
)

func main() {
        watcher, err := inotify.NewWatcher()
        if err != nil {
                log.Fatal(err)
        }
        err = watcher.Watch("/tmp")
        if err != nil {
                log.Fatal(err)
        }
        for {
                select {
                case ev := <-watcher.Event:
                        log.Println("event:", ev)
                case err := <-watcher.Error:
                        log.Println("error:", err)
                }
        }
}
--------------------------------------------------------------

Seo Sanghyeon

unread,
Nov 20, 2011, 5:49:56 AM11/20/11
to golang...@googlegroups.com
2011/11/4 Jongmin Kim <atom...@gmail.com>:

> 리눅스 커널 2.6.13부터 지원된다는 inotify (파일시스템의 읽기, 쓰기, 삭제, unmount
> 등을 감시/통지) 가 Go에서도 패키지로 구현되어 있네요.
> 유용하게 쓸 곳이 많아 보입니다.

Java의 WatchService와 비슷한 것 같은데 Java 구현은 크로스 플랫폼인데
현재 Go 구현은 리눅스 전용이라서 유용하긴 하지만 제한적인 것 같습니다.

http://download.oracle.com/javase/tutorial/essential/io/notification.html

윈도나 맥에도 파일시스템 감시하는 API가 있는데 같은 API로 쓸 수 있으면
좋을텐데요.

--
Seo Sanghyeon

Reply all
Reply to author
Forward
0 new messages