/* * Implementação simples do comando sleep. Funciona sempre? */ #include #include #include #include void trata_SIGALRM(int signum) { printf("Recebi SIGALRM.\n"); } int mysleep(int nseg) { signal(SIGALRM, trata_SIGALRM); alarm(nseg); pause(); return 0; } int main(int argc, char* argv[]) { int nseg; printf("%s: PID = %d\n", argv[0], getpid()); if (argc == 1) nseg = 1; else nseg = atoi(argv[1]); if (nseg > 0) mysleep(nseg); return 0; }