UNIX进程概念小结(apue)
2010-03-09 14:05
351 查看
1.进程组
一个进程是一个或多个进程的集合,通常由于相同的作业而联系在一起,能接收相同终端的信号量.
每个进程组可以拥有一个进程组领导,它的进程组ID和进程ID相同.
进程组生命周期----从进程组创建开始到最后一个进程离开该进程组.
一个进程可以设置自己的或者子进程的进程组ID,并且,它不能改变如果子进程调用一个exec函数后它将不能改变其进程组ID.
2.session
一个session是一个或多个进程组的集合.进程通过调用setsid函数建立新的session.
如果一个进程不是进程组领导,那么setsid函数就可以创建一个新的session.同时会发生如下事件:
该进程成为了新创建的session的session领导.
该进程成为了新创建的进程组的进程组ID,新创建的进程组ID就是该进程ID.
该进程没有控制终端.如果某进程在调用setsid函数之前拥有控制终端,那么调用函数后后该关联将破坏.
3.控制终端
一个session可以拥有一个控制终端.
一个session领导可以建立与控制终端的联系,该进程被称为控制进程.
一个session中的进程组可以分为一个前台进程组和多个后台进程组.
4.孤儿进程组
POSIX.1定义一个孤儿进程组如下:
该进程组的成员进程的父进程要么是该进程组成员,要么是别的session的成员.也就是说只要一个进程组的成员的父进程在同一个session的另一个进程组中,那么该进程组就不是孤儿进程组.
因为进程组由于父进程终止而成为孤儿进程组,POSIX.1规定新产生的孤儿进程组的每一个停止的进程被发送SIGHUP信号后都会接着被发送SIGCONT信号.这就导致子进程当收到挂起信号后会继续执行.
一个进程是一个或多个进程的集合,通常由于相同的作业而联系在一起,能接收相同终端的信号量.
每个进程组可以拥有一个进程组领导,它的进程组ID和进程ID相同.
进程组生命周期----从进程组创建开始到最后一个进程离开该进程组.
一个进程可以设置自己的或者子进程的进程组ID,并且,它不能改变如果子进程调用一个exec函数后它将不能改变其进程组ID.
2.session
一个session是一个或多个进程组的集合.进程通过调用setsid函数建立新的session.
#include <unistd.h> pid_t setsid(void); |
返回值:正常返回进程组ID, 出错返回-1 |
该进程成为了新创建的session的session领导.
该进程成为了新创建的进程组的进程组ID,新创建的进程组ID就是该进程ID.
该进程没有控制终端.如果某进程在调用setsid函数之前拥有控制终端,那么调用函数后后该关联将破坏.
3.控制终端
一个session可以拥有一个控制终端.
一个session领导可以建立与控制终端的联系,该进程被称为控制进程.
一个session中的进程组可以分为一个前台进程组和多个后台进程组.
4.孤儿进程组
POSIX.1定义一个孤儿进程组如下:
该进程组的成员进程的父进程要么是该进程组成员,要么是别的session的成员.也就是说只要一个进程组的成员的父进程在同一个session的另一个进程组中,那么该进程组就不是孤儿进程组.
因为进程组由于父进程终止而成为孤儿进程组,POSIX.1规定新产生的孤儿进程组的每一个停止的进程被发送SIGHUP信号后都会接着被发送SIGCONT信号.这就导致子进程当收到挂起信号后会继续执行.
相关文章推荐
- Unix System Overview(apue)——Unix系统概念
- (六) 一起学 Unix 环境高级编程 (APUE) 之 进程控制
- Unix 环境高级编程(APUE) 之 七 进程关系 和 守护进程
- UNIX系统编程小结(三)----进程相关
- Unix 进程通信基本概念
- Linux期末复习知识点小结(六)——线程与进程通信之管道通信概念
- apue:UNIX进程的环境
- UNIX环境编程学习笔记(17)——进程管理之进程的几个基本概念
- APUE第7章 UNIX进程环境 笔记
- APUE学习(五):线程与进程(API与概念部分)
- (七) 一起学 Unix 环境高级编程(APUE) 之 进程关系 和 守护进程
- UNIX进程环境小结
- APUE进程环境小结
- 进程、线程、文件共享--操作系统概念--unix环境高级编程
- (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
- UNIX环境编程学习笔记(17)——进程管理之进程的几个基本概念
- UNIX的进程终止状态小结
- 小结_进程的基本概念
- Unix进程环境基本概念之---工作目录
- APUE(1)——UNIX基本概念