import time import fcntl import os import signal FNAME = "/tmp/test" def handler(signum, frame): pass # print "File %s modified" % (FNAME,) signal.signal(signal.SIGIO, handler) fd = os.open(FNAME, os.O_RDONLY) fcntl.fcntl(fd, fcntl.F_SETSIG, 0) fcntl.fcntl(fd, fcntl.F_NOTIFY, fcntl.DN_MODIFY | fcntl.DN_CREATE | fcntl.DN_MULTISHOT) print "sleeping..." time.sleep(20) print "waking up now" os.close(fd)