终端,作业控制,守护进程

来源:互联网 发布:三星3g网络修复软件 编辑:程序博客网 时间:2024/06/02 03:38
进程组:每个进程有唯一一个进程组ID(PGID),而每一个进程组都有一个组长进程(即进程组ID对应的进程),而组长进程可以创建一个进程组,对于一个进程组而言,只要这个进程组中有一个进程存在,那这个进程组就存在,与组长进程是否存在并没有关系
作业:Shell分前后台控制的不是进程,而是进程组/作业,一个前台作业可以由多个进程组成,而一个后台作业同样也是如此,但对于Shell来说,只能同时运行一个前台作业和多个后台作业,这也就是所谓的作业控制;其实在一定程度上,进程组与作业类似,但它们也存在不同:如果作业中的某个进程又创建了子进程,那么这个子进程属于当前进程组,但不属于当前作业(一旦作业运行结束(即父进程退出后),Shell就把自己提到前台,把剩下的子进程放到后台,作为后台进程组)
会话:一个或多个进程组的集合,一个会话对应一个控制终端,而建立与控制终端连接的会话首进程就是控制进程,一个会话可以分为一个前台进程组以及多个后台进程组

对于在某一控制终端,组合键所发送的某个信号,内核会将这个信号发送给前台进程组中的所有进程
对于控制终端信息,它是保存在进程的PCB中的,默认情况下,每个进程的标准输入,标准输出,标准错误都是指向控制终端的,/dev/tty是用于访问控制终端的特殊设备文件,代表的是一个控制终端,被文件描述符表中的文件描述符指向,是可以被子进程拷贝的,即子进程的默认终端不会改变

守护进程(精灵进程):运行在后台的特殊进程,独立于控制终端并周期性的执行某种任务或事件,大多数服务器就是以守护进程形式存在的,它们在系统启动时就随即启动,不能和用户直接交互,不受用户的登录注销的影响,一直在后台运行
阅读全文
0 0
原创粉丝点击