【发布时间】:2015-08-22 06:52:12
【问题描述】:
我想通过在 tcl/tk 中使用 inotify 来监控文件。当文件内容改变时,应该执行proc“say”。我的代码适用于确切的一项更改。如果我再次打开文件(我用 kwrite 打开它)并更改内容,则不会执行 proc。 “观看信息”告诉我,该文件仍被添加到实例中。 “watch read”显示标志设置为 i,这对我来说意味着该文件被实例忽略。但我不知道,为什么文件被忽略,我没有删除文件或其他东西。你能回答,为什么文件被忽略了吗?
这是带有发射的代码:
package require inotify
1.3
proc say {fd} {
puts "say hello"
}
if {[catch {set fd [inotify create "watch" "say"]} errfd]} {
puts "$errfd"
exit
}
puts $fd
7
if {[catch {watch add /home/server/Zwischenablage/pitt_an/pitt_an_dashboard.txt C} errwatch]} {
puts "$errwatch"
exit
}
watch info
/home/server/Zwischenablage/pitt_an/pitt_an_dashboard.txt 1 C
(这里我先编辑了文件)
打个招呼
watch info
/home/server/Zwischenablage/pitt_an/pitt_an_dashboard.txt 1 C
watch read
{watchid 1 flags i cookie 0 filename {}}
【问题讨论】: