리눅스 커널 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)
}
}
}
--------------------------------------------------------------