创建进程:
Linux下的进程
在创建新进程时,要进行资源拷贝。Linux 有三种资源拷贝的方式:
1.共享:新老进程共享通用的资源。当共享资源时,两个进程共同用一个数据结构,不需要为新进程另建。
2.直接拷贝:将父进程的文件、文件系统、虚拟内存等结构直接拷贝到子进程中。子进程创建后,父子进程拥有相同的结构。
3.Copy on Write:拷贝虚拟内存页是相当困难和耗时的工作,所以能不拷贝就最好不 要拷贝,如果必须拷贝,也要尽可能地少拷贝。为此,Linux 采用了 Copy on Write 技术,把真正的虚拟内存拷贝推迟到两个进程中的任一个试图写虚拟页的时候。如 果某虚拟内存页上没有出现写的动作,父子进程就一直共享该页而不用拷贝。
多进程并发服务器的基本思路:
1建立连接
2服务器调用fork()产生新的子进程
3父进程关闭连接套接字,子进程关闭监听套接字
4子进程处理客户请求,父进程等待另一个客户连接
代码如下:
/*********************************************************************************
* Copyright: (C) 2018 weirenqiu<weirenqiu@email.com>
* All rights reserved.
*
* Filename: mul_pro_server.c
* Description: This file
*
* Version: 1.0.0(05/17/2018)
* Author: weirenqiu <<weirenqiu@email.com>>
* ChangeLog: 1, Release initial version on "05/17/2018 03:55:18 PM"
*
********************************************************************************/
/********************************************************************************
* Description:as a concurrent server,Eac