天天看点

linux网络编程-----实现并发访问网站------

    一般在测试多并发服务器的时候需要使用多路进程访问,这时需要自己来编写测试的并发访问功能.

    直接上代码:

<code>#include &lt;stdio.h&gt;</code>

<code>#include &lt;stdlib.h&gt;</code>

<code>#include &lt;unistd.h&gt;</code>

<code>#include &lt;signal.h&gt;</code>

<code>#include &lt;sys/wait.h&gt;</code>

<code>//</code><code>回收子进程</code>

<code>void wait_child(int num){</code>

<code>    </code><code>while</code><code>(0 &lt; waitpid(0, NULL, WNOHANG)){</code>

<code>        </code><code>;</code>

<code>    </code><code>}</code>

<code>}</code>

<code>int main(int argc, char* argv[]){</code>

<code>    </code><code>pid_t pid;</code>

<code>    </code><code>//</code><code>注册子进程结束信号</code>

<code>    </code><code>signal(SIGCHLD, wait_child);  </code>

<code>    </code> 

<code>    </code><code>//</code><code>循环创建进程</code>

<code>    </code><code>for</code><code>(;;){</code>

<code>        </code><code>//</code><code>创建进程</code>

<code>        </code><code>pid = fork();</code>

<code>        </code><code>if</code><code>(0 == pid){</code>

<code>            </code><code>//</code><code>调用curl 访问网站  argv[1]  用户命令行参数</code>

<code>            </code><code>execlp(</code><code>"curl"</code><code>, </code><code>"curl"</code><code>, </code><code>"-I"</code><code>, argv[1], NULL);</code>

<code>        </code><code>}</code>

<code>        </code><code>usleep(20); </code><code>//</code><code>暂停20毫秒</code>

<code></code>

      本文转自asd1123509133 51CTO博客,原文链接:http://blog.51cto.com/lisea/1791523,如需转载请自行联系原作者

继续阅读