#include #include #include #include #include void handler(int); pid_t pid; main(argc, argv ) int argc; char *argv[]; { signal(SIGALRM, handler); alarm( atoi(argv[1])); argv++; if ((pid = fork()) < 0) { perror("fork"); exit(1); } if (pid == 0) { execvp(argv[1], ++argv); perror("exec"); exit(1); } pid = wait(NULL); } void handler(int sig) { kill ( pid, SIGINT); fprintf(stderr, "Timeout...\n"); }