diff --git a/wait.c b/wait.c index 49a8c74..dc10a3a 100644 --- a/wait.c +++ b/wait.c @@ -3,12 +3,24 @@ #include #include -int main(int argc, char *argv[]) { - pid_t res; - int status; - while (1) { - res = wait(&status); - sleep(60); - } - return(0); +pid_t execprog(char *argv[]) { + pid_t res; + res = fork(); + if (res == 0) { + execvp(argv[1], &argv[1]); + } + return(res); +} + +int main(int argc, char *argv[]) { + pid_t res; + int status; + if (argc > 1) { + execprog(argv); + } + while (1) { + res = wait(&status); + sleep(1); + } + return(0); }