#include <stdio.h>
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>
staitc int sigchld_handler(int signo)
{
count--;
waitpid(-1,NULL,NULL);
printf("count = %d\n", count);
}
int main(void)
{
pid_t pid;
int i;
while(1)
{
usleep(1);
if(count < 3)
{
count++;
pid = fork();
if(pid < 0)
{
printf("err!\n");
continue;
}
if(pid > 0)
{
signal(SIGCHLD, sigchld_handler);
continue;
}
if(pid == 0)
{
}
}
return 0;
}
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>
staitc int sigchld_handler(int signo)
{
count--;
waitpid(-1,NULL,NULL);
printf("count = %d\n", count);
}
int main(void)
{
pid_t pid;
int i;
while(1)
{
usleep(1);
if(count < 3)
{
count++;
pid = fork();
if(pid < 0)
{
printf("err!\n");
continue;
}
if(pid > 0)
{
signal(SIGCHLD, sigchld_handler);
continue;
}
if(pid == 0)
{
}
}
return 0;
}