in reply to sleep() but don't exit

sounds like this really should just be kicked off as a cronjob. The cron entry will simply look like (run on the hour from 11PM to 6AM, inclusive):
0 23-6 * * * /some/dir/yourscript
Note that the big advantage of having cron deal with the scheduling is that you don't have to worry about your while(1){ ... } program getting hung or killed.