进程的创建
四种主要的事件导致进程的创建:
系统初始化正在运行的进程发出系统调用,创建一个活多个进程用户请求创建一个新进程一个批处理作业的初始化
在所有的情形中,新进程都是由于一个以存在的进程执行了一个用与创建进程的系统调用而创建的。
Unix 进程的创建:
fork(系统调用)--> 创建一个与系统调用相同的副本 --> 子进程执行execve或一个类似的系统调用 -->...
分类:
其他好文 时间:
2014-06-05 03:39:59
阅读次数:
193
目录
一:进程标识符(ID)
二:进程操作
2.1创建一个进程
2.2 fork函数出错情况
2.3创建一个共享空间的子进程
2.4退出程序
2.5设置进程所有者
三:执行程序
3.1 exec函数
3.2 执行解释器文件
3.3在程序中执行Shell命令
四:关系操作符
4.1等待进程退出
4.2 等待指定的进程
进程控制
—— 一步
一:进程...
分类:
系统相关 时间:
2014-06-03 03:25:02
阅读次数:
376
wait的flag参数不是很明确,考虑多个进程同时结束的情况,信号时如何处理的,是否会出现覆盖情况wait的函数原型是:
#include#include pid_t wait(int *status)
进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已...
分类:
其他好文 时间:
2014-06-02 19:19:08
阅读次数:
233
在Linux中,进程的创建由系统调用fork和vfork完成。它们生成一个子进程并且子进程是父进程的一个复制品。Fork系统调用对应的kernel函数是sys_fork,此函数简单的调用kernel函数do_fork。一个简化版的do_fork执行如下:(1)alloc_pid()。给新的进程分配一...
分类:
系统相关 时间:
2014-06-02 19:04:43
阅读次数:
355
重点函数:fork,exit,_exit一、fork函数原型:#include pid_t
fork(void)函数说明:fork函数将创建一个子进程,该函数调用一次,但是有两次返回。子进程返回值为0,父进程的返回值是该子进程的进程ID。小技巧:父进程能够拿到该次fork生成的子进程的ID,这是唯一...
分类:
其他好文 时间:
2014-06-02 08:34:20
阅读次数:
285
进程管理中最基本的功能。创建,终止,状态转换操作有OS内核中的原语实现的,原语由若干指令组成,是‘原子操作‘,所有动作要么做,要么不做,不允许中断,在管态下执行,常驻内存进程创建:
进程图是描述有进程家族关系的有向树 进程间关系:子进程可以继承父进程所拥有的资源 引起进程创建事件: 1,、用户登录;...
分类:
其他好文 时间:
2014-05-31 01:18:59
阅读次数:
321
我们通常会遇到这样的需求:通过C++或其他较底层的语言实现了一个复杂的功能模块,需要搭建一个基于Web的Demo,方法查询数据。由于Python语言的强大和简洁,其用来搭建Demo非常合适,Flask框架和jinja2模块功能为python提供了方便的web开发能力。同时,python能够很方便的同...
分类:
编程语言 时间:
2014-05-28 01:01:56
阅读次数:
407
上一篇博文可以实现基本的网络通信,但是只能服务给一个人,我们可以通过给每个客户端fork()一个子进程,来实现一对多的服务。
方法:
客户端连到服务器以后,服务器启动一个新创建的套接字对话,也就是说父进程可以继续连接下一个客户端,而子进程来需要处理
accept()创建的副套接字,实现通信功能。父进程克隆子进程后可以关闭副套接字close(connect_d),而子进程可以关闭主监听套...
分类:
其他好文 时间:
2014-05-26 05:02:14
阅读次数:
228
序
僵死(zombie)进程简而言之就是:子进程退出时,父进程并未对其发出的SIGCHILD信号进行适当处理,导致子进程停留在僵死状态等待其父进程为其收尸,这个状态下的子进程就是僵死进程。
因为并发服务器常常fork很多子进程,子进程终结之后需要服务器进程去wait清理资源。对于某些进程,特别是服务器进程往往在请求到来时生成子进程处理请求。如果父进程不等待子进程结束,子进程将成为僵尸进程(zo...
分类:
系统相关 时间:
2014-05-25 06:12:34
阅读次数:
313
socket模型:
1、阻塞模型
一个单进程accept阻塞,接收到客户端请求后,read消息,处理write返回,然后循环继续accept。
这种模型最最简单,不实际,没什么实际用途,对于新手教学还行。
2、多进程(线程)模型
主进程循环accept阻塞,接收到客户端请求后,fork子进程处理,子进程read阻塞,接收客户端消息并响应。
这种模型是我使用到...
分类:
其他好文 时间:
2014-05-24 19:50:08
阅读次数:
274