父进程fork出子进程: fork经过系统调用,来到了sys_fork,详细过程请参考Linux内核源代码情景分析-系统调用。asmlinkage int sys_fork(struct pt_regs regs)
{
return do_fork(SIGCHLD, regs.esp, ®s, 0);
}int do_fork(unsigned long clone_flags, u...
分类:
系统相关 时间:
2015-03-20 09:21:14
阅读次数:
396
数据量很大百万条记录,因此考虑到要用多线程并发执行,在写的过程中又遇到问题,我想统计所有子进程执行完毕总共的耗时,在第一个子进程创建前记录当前时间用System.currentTimeMillis()在最后一个子进程结束后记录当前时间,两次一减得到的时间差即为总共的用时,代码如下Java代码long...
分类:
编程语言 时间:
2015-03-19 23:52:40
阅读次数:
270
1、bash脚本或者sh脚本2、./脚本3、.脚本或者source脚本说明.或者source是内建命令第一种方法是脚本没有执行权限的时候使用第二种方法是当前路径下执行脚本但必须有可以行权限第三种方法在当前进程运行即父进程下运行,而前两种方法在父进程下创建子进程运行脚本举个小例子表示..
分类:
系统相关 时间:
2015-03-18 06:33:34
阅读次数:
266
UNPv3上一共总结了9种服务器模型分别是:1.迭代服务器2.并发服务器,为每个客户fork一个进程3.预先派生子进程,每个子进程都调用accept,accept无上锁保护4.预先派生子进程,以文件锁的方式保护accept5.预先派生子进程,以线程互斥锁上锁的方式保护accept6.预先派生子进程,...
分类:
其他好文 时间:
2015-03-17 23:25:13
阅读次数:
157
服务器端未处理高并发请求通常采用如下方式:
多进程:通过创建多个进程提供服务
多路复用:通过捆绑并统一管理 I/O 对象提供服务
多线程:通过生成和客户端等量的线程提供服务
多进程服务器端#include pid_t fork(); // 成功返回进程 ID, 失败返回-1fork函数将创建调用的函数副本。子进程将使用新的内存空间复制当前函数的环境。
父进程:函数返回子进程ID...
分类:
其他好文 时间:
2015-03-16 23:16:58
阅读次数:
408
僵死进程: 父进程没有等待子进程,wait() 子进程会变成僵死进程。int main(int arg, char *args[]){ pid_t pid = fork();//调用fork产生一个子进行 int status; if (pid == -1) { printf("fork...
分类:
其他好文 时间:
2015-03-16 12:27:49
阅读次数:
134
进程间通讯的方式:
管道中还有命名管道和非命名管道之分,非命名管道只能用于父子进程通讯,命名管道可用于非父子进程,命名管道就是FIFO,管道是先进先出的通讯方式。FIFO是一种先进先出的队列。它类似于一个管道,只允许数据的单向流动。每个FIFO都有一个名字,允许不相关的进程访问同一个FIFO,因此也成为命名管。消息队列:是用于两个进程之间的通讯,首先在一个进程中创建一个消息队列,然后再往消息...
分类:
系统相关 时间:
2015-03-15 09:36:43
阅读次数:
270
1.僵尸进程与孤儿进程
僵尸进程:如果子进程先于父进程退出,此时子进程便成为一个尸体;此前,如果父进程没有调用wait等相关系统调用,那么子进程便成为僵尸进程.
孤儿进程:如果父进程先于子进程退出,那么子进程变成为孤儿进程,将被init进程领养.
2.进程相关数据结构
进程控制块PCB:保留了进程运转时所需要的全部信息,是进程表中的一个entry.
当以fork()系统调用建立一个新的进程后,核心进...
分类:
系统相关 时间:
2015-03-14 11:02:12
阅读次数:
184
一、进程间的通信方式
# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。
# 有名管道 (namedpipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。
# 信号量(semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机...
分类:
编程语言 时间:
2015-03-12 20:52:46
阅读次数:
134
java中获取系统属性以及环境变量System.getEnv()和System.getProperties()的差别从概念上讲,系统属性 和环境变量 都是名称与值之间的映射。两种机制都能用来将用户定义的信息传递给 Java 进程。环境变量产生很多其它的全局效应,由于它们不仅对Java 子进程可见,并...
分类:
编程语言 时间:
2015-03-10 16:59:31
阅读次数:
189