Bei dieser Lösung wird lediglich Ruby (und selbstverständlich das auszuführende Programm) benötigt.
[ruby]
#!/usr/bin/ruby
def background_run_at(time)
fork do
sleep(1) until Time.now >= time
yield
end
end
heute = Time.now
mittag = Time.local(heute.year, heute.month, heute.day, 12, 0, 0)
raise Exception, "Es ist bereits mittag" if mittag < Time.now
background_run_at(mittag) { puts "Am mittag ausgeführt!" }
[/ruby]