|
|
发表于 2006-2-14 09:44:06
|
显示全部楼层
- #include <signal.h>
- #include <sys/types.h>
- #include <sys/wait.h>
- #include <unistd.h>
- void sigproc (int sig)
- {
- pid_t pid;
- int stat;
- while ( (pid = waitpid(-1, &stat, WNOHANG)) > 0)
- printf("child %d terminated\n", pid);
- return;
- //printf ("singal child %d\n", waitpid (-1, NULL, WNOHANG));
- }
- int main ()
- {
- signal (SIGCHLD, sigproc);
- int i;
- for (i = 0; i < 2; i++)
- if (fork () == 0) {
- sleep (1);
- printf ("child %d\n", getpid ());
- exit (0);
- }
- while (1);
- }
复制代码 |
|