摘要:
接触nginx一段时间,有些自己的心得,偶尔在网上会看到一些细小的知识点,总结于此nginx是以多进程的方式来工作的。nginx在启动后,会有一个master进程和多个worker进程。master进程主要用来管理worker进程:包含:1、接收来自外界的信号,向各worker进程发送信号。2、监控... 阅读全文
posted @ 2015-12-11 15:54
已停更
阅读(197)
评论(0)
推荐(0)
摘要:
几个常用的命令:tcpdump、nc、strace、lsof、netstat、vmstat、ifstat、mpstat 阅读全文
posted @ 2015-12-11 15:49
已停更
阅读(249)
评论(0)
推荐(0)
摘要:
进程池是由服务器预先创建的一组子进程,这些子进程书目在3~10个之间。线程池中的线程书目应该和CPU的数量差不多进程池(线程)中的所有子进程都运行着相同的代码,并具有相同的属性(比如优先级、PGID)。因为进程池在服务器启动之初就创建好了,所以每个子进程都相对“干净”。他们没有打开不必要的文件描述符... 阅读全文
posted @ 2015-12-11 15:48
已停更
阅读(357)
评论(0)
推荐(0)
摘要:
这里所指的线程是POSIX线程(简称pthread)线程同步方式:POSIX信号量、互斥锁、条件变量根据运行环境和调度者身份,线程可分为内核线程和用户线程创建线程和结束线程 1 #include 2 int pthread_create(pthread_t* thread, const pthre... 阅读全文
posted @ 2015-12-11 15:25
已停更
阅读(283)
评论(0)
推荐(0)
摘要:
13.1 fork系统调用1 #include 2 #include 3 pid_t fork( void )该函数每次调用返回两次,父进程返回子进程的PID,子进程返回0子进程的代码和父进程完全相同,同时它还会复制父进程的数据(堆栈数据和静态数据),数据的复制采用写时复制(copy on writ... 阅读全文
posted @ 2015-12-11 15:17
已停更
阅读(356)
评论(0)
推荐(0)
摘要:
这里不讲Libevent库的具体内容了,从宏观上对I/O库整体做个介绍Linux服务器程序必须处理三类事件:I/O事件,信号和定时事件统一事件源:统一处理这三类事件既能使代码简单易懂,又能避免一些潜在的逻辑错误。统一事件源的一般方法——利用I/O复用系统调用来管理所有事件可移植性:不同操作系统具有不... 阅读全文
posted @ 2015-12-11 15:15
已停更
阅读(1082)
评论(0)
推荐(0)
摘要:
网络程序需要处理的第三类事件是定时事件,两种高效的管理定时器的容器:时间轮和时间堆11.1 socket选项so_rcvtimeo和so_sndtimeoSO_RCVTIMEO和SO_SNDTIMEO选项分别用来设置socket接收数据超时时间和发送数据超时时间。因此这两个选项仅对数据接收和发送相关... 阅读全文
posted @ 2015-12-11 11:19
已停更
阅读(250)
评论(0)
推荐(0)
摘要:
信号是由用户、系统、或者进程发送给目标进程的信息,以通知目标进程某个状态的改变或系统异常linux信号可由如下条件产生:前台进程,用户可以通过输入特殊的终端符发送信号(ctrl + c 中断)系统异常系统状态变化运行kill命令或调用kill函数10.1 linux信号概述一个进程给其他进程发送信号... 阅读全文
posted @ 2015-12-11 09:48
已停更
阅读(393)
评论(0)
推荐(0)
浙公网安备 33010602011771号