标签:alt types src 僵尸进程 include while bre amp div
/* * 题目: * 编程一个基本多进程测试框架,提示用户输入进程数、和每个进程数运行圈数。(fork) * 进行多进程压力测试。(execve) * 要求父进程能监控所有子进程的退出,避免僵尸进程。(wait) * */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <errno.h> #include <sys/types.h> #include <sys/wait.h> int main(int arg, char *args[]) { if (arg < 2) { printf("please print pid num !\n"); return -1; } int pidnum = atoi(args[1]); int pid = 0; while (pidnum--) { pid = fork(); if (pid < 0) { printf("fork() failed !\n"); break; } if (pid == 0) { //执行测试程序 execl("./runc", "./runc", NULL); } } int status = 0, ret = 0; while (1) { ret = wait(&status); printf("子进程pid=%d\n", ret); if (ret == -1) { //屏蔽其他信号 if (errno == EINTR) { continue; } break; } } printf("game is over !\n"); return 0; }
标签:alt types src 僵尸进程 include while bre amp div
原文地址:http://www.cnblogs.com/zhanggaofeng/p/6120106.html