当一个文件被写入Ubuntu上的一个目录时,我想运行一个进程。 我明白我可以写一个监视器来做到这一点。 (即不是一个基于事件的触发器,而是一个“监视器”)。
为了实现这一点 – 除了在C中轮询目录的时候写一个无限循环的for循环,你会采取哪些步骤来实现呢?
当一个文件被写入一个目录时,你将采取哪些步骤在Ubuntu上运行一个进程(另一个应用程序)来实现一个监视器?
(你这样做的原因是编写文件的过程是在有限的权限下(例如tomcat6),但是执行的过程(一个现有的软件包)需要root权限(即在chroot jail中运行一个进程) )
如果你正在编写C,为什么不使用inotify库?
或者如果你只是写一个简单的shell脚本,你可以使用watch 。 两者都是现代Linux的变体。
看到这个StackOverflow问题:
https://stackoverflow.com/questions/511463/monitor-directory-for-changes
或者,如果安装inotify是不可能的结帐这些编程手段: