linux下使用system需要谨慎,那么代替它的方法是什么呢? 标准I/O函数库提供了popen函数,它启动另外一个进程去执行一个shell命令行。 这里我们称调用popen的进程为父进程,由popen启动的进程称为子进程。 popen函数还创建一个管道用于父子进程间通信。父进程要么从管道读信息, ...
分类:
系统相关 时间:
2016-05-06 09:24:10
阅读次数:
277
我主要来说一下prefork和worker工作模式。prefork的工作原理如果不用“——with-mpm”显式指定
某种MPM,prefork就是Unix平台上缺省的MPM.它所采用的预派生子进程方式也是Apache1.3中采用的模式.prefork本身并没有
使用到线程,2.0版使用它是为了与1.3版保持兼容性;另一方面,pref..
分类:
Web程序 时间:
2016-05-05 22:54:33
阅读次数:
354
1)fork函数总是“调用一次,返回两次”,在父进程中调用一次,在父进程和子进程中各返回一次。fork在子进程中的返回值是0,而在父进程中的返回值则是子进程的id。2)子进程在创建的时候会复制父进程的当前状态(PCB信息相同,用户态代码和数据也相同)。3)程序运行的结果基本上是父子进程交替打印,但这 ...
分类:
其他好文 时间:
2016-05-04 10:25:13
阅读次数:
167
1、int main(int argc, const char** argv) exit(?); 2、子进程的结束状态返回后存于status,底下有几个宏可判别结束情况 2.1、WIFEXITED(status) 如果子进程正常结束则为非0值。 2.2、WEXITSTATUS(status) 取得子 ...
分类:
其他好文 时间:
2016-05-03 12:26:38
阅读次数:
112
Tips:此源码分析基于Android 4.2
先来看看一个Activity上的UI控件结构:
图1-1 Activity中的UI组件结构
好了现在开始分析。。。。。。
一、Activity的创建
了解android的zygote分裂你会知道,每个APP都是zygote的子进程,而他的入口函数是ActivityThread类中的main函数。其中有一个handleLaucherA...
分类:
其他好文 时间:
2016-05-03 10:51:57
阅读次数:
250
进程间通信主要包括 管道, 系统IPC(包括消息队列,信号量,共享存储), SOCKET. 1.管道 管道包括三种:1)普通管道PIPE, 通常有种限制,一是半双工,只能单向传输;二是只能在父子进程间使用. 2)流管道s_pipe: 去除了第一种限制,可以双向传输. 3)命名管道:name_pipe ...
分类:
系统相关 时间:
2016-05-02 18:40:46
阅读次数:
236
1.在主进程使用 要有回车!要有回车!要有回车! 2.在子进程使用 读取数据,再用 输出数据,记得要flush! ...
分类:
编程语言 时间:
2016-05-02 16:46:56
阅读次数:
239
今天实现的这个服务器程序加入了对多个客户端同时请求处理的实现,服务器端通过对每次监听到的客户端程序新建一个子进程,进行相关的处理,将从客户端传来的字符串数据,转化为大写的字符串序列,然重新写回到connfd;另一方面,客户端通过在标准输入里获取客户输入到的字符串序列,传送到connfd,再从conn ...
分类:
系统相关 时间:
2016-05-01 01:01:13
阅读次数:
355
父子进程可以通过管道进行数据交互,一个管道只能有一个数据流向,要实现双工通信,可以使用两个管道实现。 管道工作原理: 数据交互图: 单工通信代码实现: 测试结果: ...
分类:
系统相关 时间:
2016-04-30 23:38:46
阅读次数:
237
本章讨论经典的IPC:管道、FIFO、消息队列、信号量以及共享存储器1 管道管道是Unix系统IPC最古老的方式。管道有下列两种局限性:
(1) 历史上,它们是半双工的(即数据只能在一个方向上流动)。
(2) 它们只能在具有公共祖先的进程之间使用。通常,一个管道由一个进程创建,然后该进程调用fork,此后父子进程就可以应用该管道#include
int pipe(int f...
分类:
系统相关 时间:
2016-04-29 18:25:32
阅读次数:
218