写一段简单的任务门测试程序-热血打工人社区-弘客联盟新手区-弘客联盟

写一段简单的任务门测试程序

//写一段简单的任务门测试程序

  1. // 写一段简单的任务门测试程序
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <unistd.h>
  5. #include <string.h>
  6. #include <sys/types.h>
  7. #include <sys/types.h>
  8. #include <sys/wait.h>
  9. #include <errno.h>
  10.  
  11. int main(int argc, char *argv[])
  12. {
  13.     int i;
  14.     int status;
  15.     int n = 5;
  16.     pid_t pid;
  17.     for (i = 0; i < n; i++)
  18.     {
  19.         pid = fork();
  20.         if (pid == 0)
  21.         {
  22.             break;
  23.         }
  24.         else if (pid < 0)
  25.         {
  26.             perror(“fork”);
  27.             exit(1);
  28.         }
  29.         else
  30.         {
  31.             continue;
  32.         }
  33.     }
  34.     if (i == n)
  35.     {
  36.  
  37.         while (wait(&status) > 0)
  38.         {
  39.             if (WIFEXITED(status))
  40.             {
  41.                 printf(“child %d exit with code %d\n”, WEXITSTATUS(status));
  42.                 continue;
  43.             }
  44.             else if (WIFSIGNALED(status))
  45.             {
  46.                 printf(“child %d exit with signal %d\n”, WTERMSIG(status));
  47.                 continue;
  48.             }
  49.             else if (WIFSTOPPED(status))
  50.             {
  51.                 printf(“child %d exit with signal %d\n”, WSTOPSIG(status));
  52.                 continue;
  53.             }
  54.             else
  55.             {
  56.                 printf(“unknow status\n”);
  57.                 continue;
  58.             }
  59.         }
  60.         if (errno != ECHILD)
  61.         {
  62.             perror(“wait”);
  63.             exit(1);
  64.         }
  65.         else
  66.         {
  67.             printf(“all child exit\n”);
  68.             return 0;
  69.         }
  70.     }
  71.     else
  72.     {
  73.         sleep(i);
  74.         printf(“child %d exit\n”, i);
  75.         return 0;
  76.     }
  77.     return 0;
  78. }
  79.  
 
请登录后发表评论

    没有回复内容

随便看看