Hi and welcome,
Not quite sure what you are doing, but from what you say you seem to be invoking the at program as follows, and then hitting ctl+D to facilitate exit from the at program.
Code:
yourprompt> at 08:00
at> programname
at> <EOT>
job 20 at 2007-10-19 09:00
yourprompt>
I imagine that the screen looks a bit like that.
if you try this
Code:
yourprompt> at -f programname 09:00
warning: commands will be executed using /bin/sh
job 21 at 2007-10-19 09:00
The warning can be redirected to /dev/null or a log file if required.
Code:
yourprompt> at -f programname 09:00 2> /dev/null
yourprompt>
You needn't launch the real program, but could launch a script that calls the real program. My requirement at home is trivial, the batch program can't run sound, but the program it calls can utilise the sound card, a trivial Morse beacon program that reads a serial number from a file, increments the serial number and writes it back and writes the obtained serial number into a short beacon message replete with transmitter callsign etc At the end of the program II also have the program re queue itself five minutes later as long as either the serial number hasn't exceeded a set limit or the time of day exceeds a set limit. The world is your oyster.
I hope that I have given the information that you seek and I will of course look back later in the day to check if you have any further issues on the subject that I might help you with. The
at man page should give you more than a few clues about expressing time for execution. So that's you virtually busy during your next holiday then. All you have to do is get the box to email the boss each day you are sipping lemonade in the sun, to tell him that the system is fine, the financials run is complete and what a good job you are doing in the engine room.
PAix