我必须观察对文件的任何输入或对文件当前内容所做的任何更改,任何修改后我都需要运行位于同一文件夹中的 python 程序。
我尽力去理解,但没有得到任何好的结果。如果有人能帮助我解决这个问题,那将非常有帮助。
答案1
你可以做以下两件事之一。
- 您可以编写一个程序,直接挂载到 inotify API 并对更改事件做出反应。这可能是最优雅的方法,但远远超出了 ServerFault 的范围。
- 您可以使用
inotifywait
(部分inotify-tools
)来监视文件并在发生某些事情时触发脚本。
对于 inotifywait,您需要设置一个 shell 脚本(最有可能是在 init.d 中)来执行以下步骤:
#!/bin/sh
while inotifywait -e modify /path/to/file
do
/path/to/reaction_script.py
done
当您在这样的条件中调用 inotifywait 时,请不要使用-m
开关;它将不起作用。