关于防止僵尸进程的问题
最近在linux下写一个程序,需要不断创建子进程调用脚本,可是经常会产生僵尸进程。通过网上查询,找到了解决办法。即声明一个函数:
void xx_fork(int signo)
{
pid_t pid;
int stat;
pid = waitpid(-1,&stat, 1);
printf("退出进程号为:%d 系统新增进程序。\n",pid);
return;
}
然后在调用子进程之前执行
signal(SIGCHLD, xx_fork);
于是就有了下面的问题,假如我有10个创建子进程的函数,我是只需创建一个void xx_fork(int signo)函数,然后在调用子进程(10个)之前调用signal(SIGCHLD, xx_fork)即可;还是说要对应10个函数创建10个类似void xxxn_fork(int signo)的函数(n=1~10),然后对应调用signal(SIGCHLD, xxxn_fork)?