首页 > 代码库 > 【Linux学习】基本的多进程测试框架
【Linux学习】基本的多进程测试框架
题目:
编程一个基本多进程测试框架,提示用户输入进程数、和每个进程数运行圈数。进行多进程压力测试。
要求父进程能监控所有子进程的退出,避免僵尸进程。
#include <stdio.h>#include <unistd.h>#include <unistd.h>#include <stdlib.h>#include <sys/types.h>#include <sys/wait.h>void func(int, int);int main(void){ int numJ; int numQ; int i, j; pid_t pid; printf("父进程PID %d\n", getpid()); printf("请输入需要创建的进程数:"); scanf("%d", &numJ); printf("请输入每个进程需要跑多少圈:"); scanf("%d", &numQ); for(i = 0; i < numJ; ++i) { pid = fork(); if(-1 == pid) { exit(0); } if(0 == pid) { for(j = 0; j < numQ; ++j) { func(i, j); } exit(0); } } int chlidPid; while((chlidPid = waitpid(-1, NULL, 0)) > 0) { printf("孩子pid:%d\n", chlidPid); } printf("父进程结束\n"); return 0;}void func(int i, int j){ printf("第%d进程,第%d圈\n", i + 1, j + 1); return;}
【Linux学习】基本的多进程测试框架
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。