題目:寫出一段程序,創建4個子進程,每個子進程都打印“Hello”後立刻終止,父進程等待4個子進程都終止後,打印“Bye”,然後終止。
答:這裡有兩種結構的程序,各位看哪種順眼就看哪種吧~
- #include<stdio.h>
- #include<stdlib.h>
- #include<sys/types.h>
- #include<sys/wait.h>
- int main()
- { char *msg = "Hello";
- pid_t pid;
- int count = 0;
- for(count = 0;count<4;count++)
- { pid = fork();
- if (0 != pid) //父進程執行
- wait(NULL);
- else //子進程執行
- { printf("Child %d: ", count);
- puts("Hello");
- exit(0);
- }
- }
- printf("Father : ");
- puts("Bye");
- exit(0);
- }
- /*
- fork1:
- pid = fork();
- if (0 != pid) //父進程執行
- { wait(NULL);
- if (count < 3)
- { count++;
- goto fork1;
- }
- else
- { printf("Father : ");
- puts("Bye");
- }
- }
- else //子進程執行
- { printf("Child %d: ", count);
- puts("Hello");
- }
- exit(0);
- }*/