//ver [Sat Mar 10 14:53:53 CET 2001] -- 87 #include #include /*================================================================ ************************* ****** ***** *** ** * ++[X3ni0n]++ xenion@libero.it ~ http://www.tba.tsx.org 7/3/2k+1 ************************* ****** ***** *** ** * DIN utility che permette di eseguire un determinato comando ad un'ora prefissata. Esempio : ./din 20:05:00 "shutdown -h now" ================================================================*/ int geth(int *h, int *m, int *s) // torna l'ora corrente { time_t t1; struct tm *t2; time(&t1); t2=localtime(&t1); *h=t2->tm_hour; *m=t2->tm_min; *s=t2->tm_sec; } int main(int argc, char *argv[]) { int h[2],m[2],s[2]; if (argc < 3) { printf("\ndIn, esegue un comando ad un'ora prefissata\n"); printf("usage: ./din hh:mm:ss comando\n"); printf("es. ./din 20:05:00 \"shutdown -h now\"\n\n"); return(0); } geth(&h[0],&m[0],&s[0]); printf("\nora attuale : %2d:%2d:%2d\n",h[0],m[0],s[0]); h[1]=(argv[1][0]-48)*10+argv[1][1]-48; // '0'=48 .. m[1]=(argv[1][3]-48)*10+argv[1][4]-48; s[1]=(argv[1][6]-48)*10+argv[1][7]-48; printf("ora timer : %2d:%2d:%2d\n",h[1],m[1],s[1]); printf("comando : \"%s\"\n",argv[2]); while (h[0]*3600+m[0]*60+s[0]!=h[1]*3600+m[1]*60+s[1]) geth(&h[0],&m[0],&s[0]); system(argv[2]); }