在 Ubuntu 上,如何设计一个监视器来在将文件写入目录时运行一个进程?

在 Ubuntu 上,如何设计一个监视器来在将文件写入目录时运行一个进程?

我想在将文件写入 Ubuntu 上的目录时运行一个进程。我知道我可以编写一个监视器来执行此操作。(即不是基于事件的触发器而是“监视器”)。

为了实现这一点 - 除了用 C 编写一个无限长的 for 循环来轮询目录之外 - 您还可以采取哪些步骤来实现这一点?

当文件写入目录时,您需要采取哪些步骤在 Ubuntu 上实现运行进程(另一个应用程序)的监视器?

(这样做的原因是写入文件的进程具有一组有限的权限(例如 tomcat6),但执行的进程(现有软件包)需要 root 权限(即在 chroot jail 中运行进程))

答案1

如果您正在编写 C 语言,为什么不直接使用该inotify库?

或者,如果您只是编写一个简单的 shell 脚本,则可以使用watch。两者均存在于所有现代 Linux 变体中。

答案2

请参阅此 StackOverflow 问题:

https://stackoverflow.com/questions/511463/monitor-directory-for-changes

另外,如果无法安装 inotify,请检查以下编程方法:

http://aplawrence.com/Unixart/watchdir.html

相关内容