进程组-作业-会话

一、进程组(PGID)

   1.进程组是一个或多个进程的集合,它们与同一作业相关联,可以接收来自同一中端的各种信号;

   2.每个进程都属于一个进程组;

   3.多个毫不相关的进程可能共同协作完成同一个作业;

   4.组长进程:每个进程组有一个组长进程,它是该组的第一个进程,组长进程的ID等于进程组的ID;

   5.一个进程组中,只要有一个进程存在,这个进程组就存在,它与组长没有关系,只是用了组长进程的PID作为该进程组的PGID;

二、作业

   1.Shell分前台后台控制的是作业或者进程组,而不是进程,此时,可以把作业和进程组都当做作业处理;

   2.一个前台作业或后台作业都可以由多个进程组成,如下图所示;

   3.作业控制:Shell可以运行一个前台作业或多个后台作业;

   4.作业和进程组的区别:如果作业中的某个进程右创建了子进程,该子进程属于进程组,不属于作业;

   5.前台作业几首用户的输入指令,由前台获取;

   6.ctrl+c 暂停或终止前台作业,前台作业又包含多个进程,所以终止了多个进程;

这里写图片描述

三、会话(SID)

   1.一次会话由多个进程组组成,一个会话可以有一个控制终端;

   2.一个会话中的进程可由一个前台进程组和一个或多个后台进程组组成;

   3.控制进程;建立与控制终端连接的会话首进程;

   4.一个会话应该包括控制进程、一个前台进程组,一个或多个后台进程组三部分;

   5.一个进程组的会话SID一般为父进程的ID,即PPID,它们的父进程属于当前进程的bash;

   6.第一个与终端产生会话的进程为bash,bash通常作为控制进程使用,新打开一个终端时,会产生一个新的bash,形成新的对话;

   7.bash本身就是一项作业,自成进程组,它的PID,PGID,SID相同;

如图所示:

这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值