A lot of time processes communicate through creating and modifying files. Examples include: the commit lock, the keepalived JSON state dump, and many more.
Right now we are using a wide range of approaches "sleep a bit and hope for the best" to "check repeatedly". They all are problematic in different ways because either there are random failures, or there's a long timeout or a busy wait.
Linux kernel provides inotify API that mostly solved all these problems.