1,首先,安装pyinotify模块
下载地址 https://github.com/seb-m/pyinotify
传到linux下,运行命令:
vi monitorFile.py 或下载代码包monitorFile
代码:
#coding = utf-8
import os
import pyinotify
class OnWriteHandler(pyinotify.ProcessEvent):
def process_IN_CREATE(self, event): #函数名以"process_"开头,后面跟注册的监测类型
os.system('echo '+'create file:%s'%(os.path.join(event.path,event.name))) #之后用于nohup输出
print "create file: %s " % os.path.join(event.path,event.name) #打印
def auto_compile(path='.'):
wm = pyinotify.WatchManager()
mask = pyinotify.IN_CREATE #监测类型,如果多种用|分开,pyinotify.IN_CREATE | pyinotify.IN_DELETE
notifier = pyinotify.Notifier(wm, OnWriteHandler())
wm.add_watch(path, mask,rec=True,auto_add=True)
print '==> Start monitoring %s (type c^c to exit)' % path
while True:
try:
notifier.process_events()
if notifier.check_events():
notifier.read_events()
except KeyboardInterrupt:
notifier.stop()
break
if __name__ == "__main__":
auto_compile()
监测类型:
测试,在指定目录下运行:
python monitorFile.py
这时创建文件将会被调用。
当然,不能一直开着Terminal,需要执行以下命令,完成后台监测:
注意python的版本号,可以直接写python为默认的
如此,更完成后台检测了。
关闭后台运行的进程的方法: