Cross platform: Windows, Linux, BSD and OS X.
| Adapter | OS | Status |
|---|---|---|
| inotify | Linux, Android* | Supported |
| kqueue | BSD, OS X, iOS* | Supported |
| ReadDirectoryChangesW | Windows | Supported |
| FSEvents | OS X | Planned |
| FEN | Solaris 11 | Planned |
| fanotify | Linux 2.6.37+ | |
| Polling | All | Maybe |
| Plan 9 |
* Android and iOS are untested.
Please see the documentation for usage. Consult the Wiki for the FAQ and further information.
Two major versions of fsnotify exist.
fsnotify.v1 provides a new API based on this design document. You can import v1 with:
import "gopkg.in/fsnotify.v1"
* Refer to the package as fsnotify (without the .v1 suffix).
fsnotify.v0 is API-compatible with howeyc/fsnotify. Bugfixes may be backported, but I recommend upgrading to v1.
import "gopkg.in/fsnotify.v0"
Further API changes are planned, but a new major revision will be tagged, so you can depend on the v1 API.
A future version of Go will have fsnotify in the standard library, therefore fsnotify carries the same LICENSE as Go. Contributors retain their copyright, so we need you to fill out a short form before we can accept your contribution: Google Individual Contributor License Agreement.
Please read CONTRIBUTING before opening a pull request.
See example_test.go.