Watchman
A file watching service that records when files change
...When running watchman, it will attempt to communicate with your existing server instance (each user has their own persistent process), and will attempt to start it if it doesn’t exist. There are some options that affect how watchman will locate the server, some options that affect only the client and some others that affect only the server. Since all of the options are understood by the same executable we’ve broken those out into sections of their own to make it clearer when they apply. Watchman is conservative, preferring to err on the side of caution; it considers files to be freshly changed when you start to watch them or when it is unsure.