1
您好,我想製作一個小紅寶石腳本,以在圖像打開時提醒我。如何知道圖像文件是否打開
我試着用:
filename = "photo.jpg"
loop do
sleep(1)
if system %Q[lsof #{filename}]
puts "File open"
end
end
但它不工作..任何想法?
您好,我想製作一個小紅寶石腳本,以在圖像打開時提醒我。如何知道圖像文件是否打開
我試着用:
filename = "photo.jpg"
loop do
sleep(1)
if system %Q[lsof #{filename}]
puts "File open"
end
end
但它不工作..任何想法?
試試這個例子:
touch hello_world.log
tail -f hello_world.log
輸入以下代碼:
filename = "hello_world.log"
loop do
sleep(1)
if system %Q[lsof #{filename}]
puts "File open"
end
end
您可能需要查看inotify(Ruby gem rb-inotify),因爲這可能是您想要的。假設某人用文本編輯器打開一個文件然後保存它,那麼保存事件可能不會在lsof
下顯示,因爲它每秒鐘都在輪詢(並且隨後將僅顯示出現在該點的信息,所以您可能永遠不會抓住它)。
雖然它很脆弱,但它對我很有用。 – hek2mgl