- 论坛徽章:
- 0
|
改一改,这个也不错
- #include <stdio.h>
- #include <unistd.h>
- #include <sys/types.h>
- #include <sys/wait.h>
- int main()
- {
- int pid = fork ();
- if (pid == 0)
- {
- int cc = fork();
- if (cc == 0)
- {
- system ("./test_prog");
- printf ("son die..\n");
- exit (0);
- }
- else
- {
- int i = 0;
- for (i = 0; i < 5; i++)
- {
- printf ("father running %d\n", ++i);
- sleep (1);
- }
- printf ("father die..\n");
- exit(0);
- }
- }else
- {
- int i = 0;
-
- int status = 0;
- while (!waitpid(pid, &status, WNOHANG))
- {
- printf ("father waiting%d\n", ++i);
- sleep (1);
- }
- //wait(NULL);
- while (1)
- {
- printf ("gradpa waiting over%d\n", ++i);
- sleep (1);
- }
- return 0;
- }
- }
复制代码 |
|