我正在开发一个应用程序。我使用的操作系统是linux。如果可能,我需要在目录中创建的文件上运行 ruby 脚本。我需要让这个脚本始终运行。我首先想到的是inotify:
inotify API 提供了一种监控文件系统事件的机制。Inotify 可用于监视单个文件或监视目录。
这正是我所需要的,然后我找到了“rb-inotify”,一个包装器 fir inotify。
你认为有比使用 inotify 更好的方法来做我需要的事情吗?另外,我真的不明白我必须使用 rb-inotify 的方式。
例如,我只是创建了一个 rb 文件,其中包含:
notifier = INotify::Notifier.new
notifier.watch("directory/to/check",:create) do |event|
#do task with event.name file
end
notifier.run
然后我只是ruby myRBNotifier.rb
,它将永远保持循环。我该如何阻止它?任何的想法?这是一个好方法吗?