- 论坛徽章:
- 0
|
好久没有写程序了,最近公司的项目比较急,接到一个批处理多进程并发的任务。
我的主要设计是这样的:
1、以守护进程的方式运行主程序。
2、主程序根据配置文件,和要做的作业,交给多个(如5个),去运行。
没接到一个任务,就产生一个进行,直到最大个数如5,为止,则等待。
3、如果一个子进程结束了,就再为其分配一个任务。
4、也就是总是保持5个进程同时运行,结束一个,主程序就再分配任务,产生一个新进程。
我想了半天,也没想好整个程序框架该是什么样的,改如何来保持5个进程运行,主进程还能监控并等待。
各位大侠,能在如下框架的基础上,帮我出一个满足我上面需要的框架吗?十分感谢!!
我在c/C++版,也发帖了,各位大侠可以到那里答,那里给大家积分。
#include <sys/types.h>
#include <sys/wait.h>
main()
{
pid_t pc, pr;
int status;
pc=fork();
if(pc<0)
printf("Error occured on forking.\n");
else if(pc==0){
/* 子进程的工作 */
exit(0);
}else{
/* 父进程的工作 */
pr=wait(&status);
/* 利用子进程的结果 */
}
} |
|