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为默认的
如此,更完成后台检测了。
关闭后台运行的进程的方法: