我想在ubuntu中创建简单的通知应用程序... 例如:在18:00,21:00,24:00我想收到来自ubuntu的消息
消息的简单方法是:def alarm
%x{notify-send -i rhythmbox Test "Hello world" }
end
alarm
当我sart这个文件时(例如:ruby somefilename.rb)
我收到了通知消息。
Question: how to cause this file run in 18:00, 21:00, 24:00
PS我知道有很多类似的程序(对于想知道如何做的经验)
U.D。使用crontab:
* * * * * %x{notify-send -i rhythmbox Test "Hello world" }
每分钟都应该启动这个脚本 - 但没有任何事情发生
在某些例子中,我看到我们没有脚本而是将路径放到它们上面:这样的事情:
* * * * * ruby /home/Home/myDisk/somefile.rb
如何使用ruby打开此文件或在没有ruby的终端中启动notify-send脚本?
答案 0 :(得分:1)
要在Ruby中实现,一种方法是使用Ruby sleep
方法:
seconds = 18 * 60 # 18 minutes * 60 seconds/minute
sleep(seconds)
alarm
在循环中使用“唤醒”时间:
start = Time.now
for wake in [18, 21, 24]
seconds = wake * 60 + start - Time.now
sleep(seconds)
alarm
end
另请参阅Ruby Thread
并行执行警报:
for wake in [18, 21, 24]
threads << Thread.new(wake) {|wake|
sleep(wake * 60)
alarm
}
end
threads.each {|t| t.join }