diff options
Diffstat (limited to 'Userland/mon.cpp')
-rw-r--r-- | Userland/mon.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Userland/mon.cpp b/Userland/mon.cpp new file mode 100644 index 0000000000..c8980ca388 --- /dev/null +++ b/Userland/mon.cpp @@ -0,0 +1,29 @@ +#include <AK/LogStream.h> +#include <fcntl.h> +#include <stdio.h> +#include <string.h> +#include <unistd.h> + +int main(int argc, char** argv) +{ + const char* path = argc > 1 ? argv[1] : "."; + int watch_fd = watch_file(path, strlen(path)); + if (watch_fd < 0) { + perror("Unable to watch"); + return 1; + } + for (;;) { + char buffer[256]; + int rc = read(watch_fd, buffer, sizeof(buffer)); + if (rc < 0) { + perror("read"); + return 1; + } + if (rc == 0) { + printf("End-of-file.\n"); + return 0; + } + printf("Something changed about '%s'\n", path); + } + return 0; +} |