进程的终止可以分为异常终止和正常终止。 当进程是正常终止的时候,子进程会通过 exit 函数向父进程传递终止状态; 当进程是异常终止的时候,内核(而不是进程)会传递给父进程一个信号编号值。 所以说无论子进程是正常终止还是异常终止,父进程都可以通过 wait 或者 waitpid 函数来获取到子进程的 ...
分类:
系统相关 时间:
2016-10-01 17:09:40
阅读次数:
196
Linux系统提供了 fork 函数用来创建子进程。fork 函数和普通的函数相比,其特殊的地方在于 fork 函数被调用一次,但是会返回两次。一次返回时在父进程中,另一次返回值是在子进程中。 函数原型: 返回值: 调用失败时返回 -1 给父进程,而且子进程也不会被创建。 调用成功时,在父进程中返回 ...
分类:
系统相关 时间:
2016-10-01 17:03:31
阅读次数:
155
Linux操作系统中为了区分每一个进程,为每个进程分配一个唯一的进程号,也称为进程ID。进程 ID 是保存在进程的 PCB 中,属于进程的内核资源。 每个进程的进程 ID 虽然是唯一的,但是进程 ID 是可以重用的,当一个进程被终止时,其所有的资源将会被释放,也包括进程 ID。当系统再次创建一个新的 ...
分类:
系统相关 时间:
2016-10-01 16:58:46
阅读次数:
180
考虑下面两种情况: 第一种:父进程 先于 子进程 退出。 发生此种情况的时候,子进程便成为 孤儿进程。系统中的所有孤儿进程都会被 init 进程领养,init 进程的进程 ID 始终为 1。系统内当有进程终止的时候,内核会去检查所有的进程是否为该终止进程的子进程,如果是,则将其父进程 ID 修改为 ...
分类:
系统相关 时间:
2016-10-01 16:56:57
阅读次数:
158
vfork 函数和 fork 函数类似,也可以用来创建子进程,但是和 fork 创建的子进程有以下几点不同: fork 创建的子进程和父进程之间的执行顺序是不确定的,取决的调度算法的实现。而 vfork 函数创建的子进程 一定是先于父进程执行的,父进程会阻塞到当子进程中调用了 exec 或者 exi ...
分类:
系统相关 时间:
2016-10-01 16:52:19
阅读次数:
115
1、文件描述符和inode号码是不同的两个东西。 1、文件描述符和inode号码是不同的两个东西。 2、对于每个进程,系统会建立一个进程控制块(PCB)来保存相关的信息,而这个PCB在内核中的表现其实就是一个称为task_struct的结构体,这个结构体的成员用来保存与此进程有关的相关信息,其中有个 ...
分类:
其他好文 时间:
2016-10-01 12:37:01
阅读次数:
357
Systemd概述:CentOS6和之前版本采用SysVinit的系统启动进程管理体系,一般用户都可通过在/etc/inittab文件的配置,来个性化自己的系统启动序列。但也经常会由于特殊环境的硬件等关系问题,造成其串行的启动进程控制流,因为可能任务的阻塞而影响启动过程。CentOS7开始使用Syst..
分类:
其他好文 时间:
2016-09-23 00:02:22
阅读次数:
352
最近又把《大型网站技术架构》看了一遍.而中间读了一本《计算机操作系统》的教材后,感觉对大型网站的技术架构有更深的了解。在此结合对这两本书的理解做一些笔记 传统的OS(Operator System)有四个基本的功能: a) 进程控制 b) 进程同步 c) 进程通信 d) 调度 a) 内存分配 b) ...
分类:
Web程序 时间:
2016-09-21 09:06:06
阅读次数:
166
samba:用于实现Linux和windows之间文件共享 功能:实现匿名用户和本地用户的文件共享 工作原理: smb进程:控制发布目录与权限,负责文件传输TCP 139 445 nmb进程:用于名称解析udp 137 138 Samba安装: 步骤:(安装|查询|软件列表) #yum instal ...
分类:
其他好文 时间:
2016-09-17 00:32:28
阅读次数:
189
进程控制块是描述进程状态和特性的数据结构,一个进程只能有惟一的进程控制块。 编译:进行语法检查、函数分配空间,将各个函数编译成二进制码,按照特定目标文件格式生成目标文件。 连接:把程序中各个文件编译生成的目标文件连接起来,同时还要同系统提供的资源(如函数库)连接成为一个整体,得到可执行文件。 运行: ...
分类:
其他好文 时间:
2016-09-16 11:28:36
阅读次数:
191