File system notifications for Go

GoDoc Go Report Card

fsnotify utilizes golang.org/x/sys rather than syscall from the standard library. Ensure you have the latest version installed by running:

go get -u golang.org/x/sys/...

Cross platform: Windows, Linux, BSD and macOS.

AdapterOSStatus
inotifyLinux 2.6.27 or later, Android*Supported Build Status
kqueueBSD, macOS, iOS*Supported Build Status
ReadDirectoryChangesWWindowsSupported Build status
FSEventsmacOSPlanned
FENSolaris 11In Progress
fanotifyLinux 2.6.37+
USN JournalsWindowsMaybe
PollingAllMaybe

* Android and iOS are untested.

Please see the documentation for usage. Consult the Wiki for the FAQ and further information.

API stability

fsnotify is a fork of howeyc/fsnotify with a new API as of v1.0. The API is based on this design document.

All releases are tagged based on Semantic Versioning. Further API changes are planned, and will be tagged with a new major revision number.

Go 1.6 supports dependencies located in the vendor/ folder. Unless you are creating a library, it is recommended that you copy fsnotify into vendor/github.com/fsnotify/fsnotify within your project, and likewise for golang.org/x/sys.

Contributing

Please refer to CONTRIBUTING before opening an issue or pull request.

Example

See example_test.go.

Related Projects