有没有那种监听当前目录下文件发生改变并触发动作的程序或软件?

软件和网站开发以及相关技术探讨
回复
emptykid
帖子: 20
注册时间: 2009-12-02 13:11
送出感谢: 0
接收感谢: 0

有没有那种监听当前目录下文件发生改变并触发动作的程序或软件?

#1

帖子 emptykid » 2011-05-14 14:55

我想做一些事情,当前目录下文件或目录发生变化的时候,它立马可以抛出一些事件和接口,比如把更改的文件作为参数发出来
并提供接口供我做二次开发使用,然后我可以通过它提供的接口和参数做二次处理
不知道有没有这样的开源程序之类的?最好能支持跨平台
非常感谢
头像
linjiework
帖子: 240
注册时间: 2009-07-07 19:52
送出感谢: 0
接收感谢: 0

Re: 有没有那种监听当前目录下文件发生改变并触发动作的程序或软件?

#2

帖子 linjiework » 2011-05-16 9:01

linux 下没有,自己写吧。

Window 下有,你可以查找相关资料。
阿呆 : 天下第一呆!
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: 有没有那种监听当前目录下文件发生改变并触发动作的程序或软件?

#3

帖子 eexpress » 2011-05-16 9:41

inotify.
简单的。
● 鸣学
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: 有没有那种监听当前目录下文件发生改变并触发动作的程序或软件?

#4

帖子 eexpress » 2011-05-16 9:41

inotify 的最佳搭档incrontab
搜索论坛
● 鸣学
头像
ChenFengyuan
帖子: 770
注册时间: 2008-03-23 0:39
送出感谢: 0
接收感谢: 4 次

Re: 有没有那种监听当前目录下文件发生改变并触发动作的程序或软件?

#5

帖子 ChenFengyuan » 2011-05-29 9:30

linjiework 写了:linux 下没有,自己写吧。

Window 下有,你可以查找相关资料。
你不知道就不要说没有,好不好!!!
不要误导别人,

inotify:
inotify is a Linux kernel subsystem that acts to extend filesystems to notice changes to the filesystem, and report those changes to applications. It replaces an earlier facility, dnotify, which had similar goals.

你可以调用inotify,比如用common lisp或者c
如果你要shell的话,那就用inotify-tools这个包(debian里面)
$ inotifywait /dev/shm
Setting up watches.
Watches established.
然后$touch /dev/shm/a
就会显示/dev/shm/ CREATE a,并且inotifywait程序退出

然后再比如common lisp,用了quicklisp装inotify
CL-USER> (inotify:with-inotify (inot `(("/dev/shm/" ,inotify:in-create)))
(inotify:read-events inot))
(#S(INOTIFY:EVENT
:WATCH #<INOTIFY:WATCH pathname: #P"/dev/shm/" mask: 256>
:MASK 256
:COOKIE 0
:NAME "a"))
CL-USER>
:em11
头像
ChenFengyuan
帖子: 770
注册时间: 2008-03-23 0:39
送出感谢: 0
接收感谢: 4 次

Re: 有没有那种监听当前目录下文件发生改变并触发动作的程序或软件?

#6

帖子 ChenFengyuan » 2011-05-29 9:31

eexpress 写了:inotify.
简单的。
ee威武 :em09
回复

回到 “软件/网站开发”