NginX高性能服务器模型
来源:互联网 发布:ubuntu 14.04 iso 32 编辑:程序博客网 时间:2024/06/15 22:38
基于Linux的posix进程编程,模仿NginX服务器模式
#include<stdio.h>#include<sys/types.h>#include<unistd.h>#include<signal.h>#include<ctype.h>#define MAX_CHILD_NUMBER 10 //最大子进程数#define SLEEP_INTERVAL 4 //睡眠时间int proc_number = 0; void do_something(); //进程做什么int main(int argc,char* argv[]){ int child_proc_number = MAX_CHILD_NUMBER; int i,ch; pid_t child_pid; pid_t pid[10] = {0}; if(argc > 1){ //判断命令行输入是否有效 child_proc_number = atoi(argv[1]); child_proc_number = (child_proc_number > 10) ? 10 : child_proc_number; } for(i=0;i<child_proc_number;i++){ child_pid = fork(); proc_number = i; //根据pid判断为父进程还是子进程 if(child_pid == 0) do_something(); if(child_pid != 0) pid[i] = child_pid; } while((ch=getchar())!='q'){ if(isdigit(ch)){ //选择性杀死进程 kill(pid[ch-'0'],SIGTERM); pid[ch-'0'] = 0; } } for(i=0;i<child_proc_number;i++){ if(pid[i] != 0){ kill(pid[i],SIGTERM); pid[i] = 0; } } return 0;}void do_something(){ while(1){ printf("This is process No.%d and its pid is %d\n",proc_number,getpid()); sleep(SLEEP_INTERVAL); //让每一个执行的进程陷入死循环,模仿Nginx服务器 }}
1 0
- NginX高性能服务器模型
- nginx源码分析--高性能服务器开发 常见进程模型
- nginx源码分析--高性能服务器开发 常见进程模型
- 高性能Web服务器 Nginx
- 高性能Web服务器 Nginx
- 高性能Web服务器 Nginx
- 高性能WEB服务器Nginx
- 高性能Web服务器 Nginx
- 高性能Web服务器 Nginx
- 高性能web服务器nginx
- Nginx,高性能的Web服务器
- Nginx + PHP 搭建高性能web服务器
- 打造高性能nginx缓存服务器
- 实战nginx,取代apache高性能服务器
- Nginx高性能WEB服务器系列
- 高性能Nginx服务器优化实战
- Nginx高性能http服务器的安装
- 高性能Nginx服务器优化实战
- 5天学会jaxws-webservice编程
- Qt学习之路-贪吃蛇
- app与后台通信完整流程
- ConstraintLayout使用心得
- MQ4语言中dll的引用方法
- NginX高性能服务器模型
- LeetCode42. Trapping Rain Water
- LightOJ
- 高阶篇:4.3.5)DFMEA建议措施及后续完备
- uva 333 Recognizing Good ISBNs
- bridged、host-only和NAT的虚拟机用法
- 通过串口,根据参数名称请求mavlink参数值
- Linux系统下安装JDK和Tomcat
- 学习淘淘商城第三十二课(Redis集群测试)