login-loop.c 333 B

1234567891011121314151617181920212223
  1. #include <stdlib.h>
  2. #include <unistd.h>
  3. #include <sys/wait.h>
  4. int main(int argc, char * argv[]) {
  5. while (1) {
  6. pid_t f = fork();
  7. if (!f) {
  8. char * args[] = {
  9. "login",
  10. NULL
  11. };
  12. execvp(args[0], args);
  13. } else {
  14. int result;
  15. do {
  16. result = waitpid(f, NULL, 0);
  17. } while (result < 0);
  18. }
  19. }
  20. return 1;
  21. }