一般在测试多并发服务器的时候需要使用多路进程访问,这时需要自己来编写测试的并发访问功能.
直接上代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <sys/wait.h>
//
回收子进程
void wait_child(int num){
while
(0 < waitpid(0, NULL, WNOHANG)){
;
}
}
int main(int argc, char* argv[]){
pid_t pid;
//
注册子进程结束信号
signal(SIGCHLD, wait_child);
//
循环创建进程
for
(;;){
//
创建进程
pid = fork();
if
(0 == pid){
//
调用curl 访问网站 argv[1] 用户命令行参数
execlp(
"curl"
,
"curl"
,
"-I"
, argv[1], NULL);
}
usleep(20);
//
暂停20毫秒
}
}
|
本文转自asd1123509133 51CTO博客,原文链接:http://blog.51cto.com/lisea/1791523,如需转载请自行联系原作者