fswatch is a simple fsnotify wrapper to watch file updates correctly.
go get github.com/sagernet/fswatchpackage main
import (
"log""github.com/sagernet/fswatch"
)
funcmain() {
varwatchPath []stringwatchPath=append(watchPath, "/tmp/my_file")
watcher, err:=fswatch.NewWatcher(fswatch.Options{
Path: watchPath,
Callback: func(pathstring) {
log.Println("file updated: ", path)
},
})
iferr!=nil {
log.Fatal(err)
}
deferwatcher.Close()
// Block main goroutine forever.<-make(chanstruct{})
}