1. fd:在形式上是一个非负整数.实际上他是一个索引值、指向kernal为每一个进程所维护的该进程打开文件的记录表. 当程序打开一个文件或者创建一个新文件的时候kernal向进程返回一个文件描述符。 优点:兼容POSIX标准,许多系统调用都依赖于它;缺点:不能移植到unix之外的系统上去 fp:F ...
分类:
其他好文 时间:
2017-05-24 22:26:14
阅读次数:
303
fork:fork用于派生一个进程。如果成功,父进程返回子进程的ID,子进程中返回0,若出错则返回-1。主要用途:一个进程希望复制自身,从而子父进程能同时执行不同的代码段。进程想要执行另一个程序例如:#include<stdio.h>
#include<sys/types.h>
#include<stdio...
分类:
其他好文 时间:
2017-03-21 13:20:06
阅读次数:
188
进程是所有操作系统的核心概念,同样在linux上也不例外。 主要内容: 进程和线程 进程的创建 进程的终止 1. 进程和线程 1.1 进程 进程是处于执行期的程序以及相关的资源的总称。 线程是进程中活动的对象。内核调度的对象是线程,而不是进程。 进程和线程的管理操作(比如创建和销毁)都是由内核来实现 ...
分类:
系统相关 时间:
2017-02-14 11:36:16
阅读次数:
208
主要函数: fork 用于创建一个新进程 exit 用于终止进程 exec 用于执行一个程序 wait 将父进程挂起,等待子进程结束 getpid 获取当前进程的进程ID nice 改变进程的优先级 孤儿进程: 如果一个子进程的父进程先于子进程结束,子进程就成为一个孤儿进程,他由init进程收养,成 ...
分类:
系统相关 时间:
2017-02-10 19:54:23
阅读次数:
217
在知乎上,有个人问了这样的一个问题——为什么vfork的子进程里用return,整个程序会挂掉,而且exit()不会?并给出了如下的代码,下面的代码一运行就挂掉了,但如果把子进程的return改成exit(0)就没事。 我受邀后本来不想回答这个问题的,因为这个问题明显就是RTFM的事,后来,发现这个 ...
分类:
系统相关 时间:
2016-12-11 01:34:26
阅读次数:
273
fork()与vfock()都是创建一个进程,那他们有什么区别呢?总结有以下三点区别: 1. fork ():子进程拷贝父进程的数据段,代码段 vfork ( ):子进程与父进程共享数据段 2. fork ()父子进程的执行次序不确定 vfork 保证子进程先运行,在调用exec 或exit 之前与 ...
分类:
其他好文 时间:
2016-10-22 11:54:29
阅读次数:
187
vfork 函数和 fork 函数类似,也可以用来创建子进程,但是和 fork 创建的子进程有以下几点不同: fork 创建的子进程和父进程之间的执行顺序是不确定的,取决的调度算法的实现。而 vfork 函数创建的子进程 一定是先于父进程执行的,父进程会阻塞到当子进程中调用了 exec 或者 exi ...
分类:
系统相关 时间:
2016-10-01 16:52:19
阅读次数:
115
转自:http://blog.chinaunix.net/uid-26833883-id-3222794.html 1.fork() ,vfork() 创建进程 2‘ exec()类 在进程中执行其他的程序 3‘wait(),waitpid(),获取子进程结束的状态和处理僵尸进程 僵尸进程:如果子进 ...
本篇索引: 1、引言 2、进程标识 3、多进程 4、fork函数 5、vfork函数 6、exit函数 7、wait和waitpid函数 8、竞态 9.exec函数族 10.进程状态 11、system函数 1、引言 我们知道./a.out就能够让我们当前路径下的程序a.out(可执行文件)运行起来 ...
创建一个新进程的方法只有由某个已存在的进程调用fork()或vfork()1.fork()函数返回值:成功:父进程:返回子进程的PID子进程:返回0失败:父进程返回-1子进程是父进程的一个拷贝。即子进程从父进程得到数据段和堆、栈段的拷贝,这些需要分配新的内存(不是与父进程共享,而是单..
分类:
系统相关 时间:
2016-07-20 19:48:45
阅读次数:
232