内核编程篇-02-进程组、会话、终端、 守护进程

进程组、会话、终端

进程组

作用:对相同类型的进程进行管理

进程组的诞生
  • 在shell里面直接执行一个应用程序,对于大部分进程来说,自己就是进程组的首进程。进程组只有一个进程
  • 如果进程调用了fork函数,那么父子进程同属一个进程组,父进程为首进程
  • 在shell中通过管道执行连接起来的应用程序,两个程序同属一个进程组,第一个程序为进程组的首进程

进程组id:pgid,由首进程pid决定

会话

作用:管理进程组

会话的诞生
  • 调用setsid函数,新建一个会话,应用程序作为会话的第一个进程,称为会话首进程
  • 用户在终端正确登录之后,启动shell时linux系统会创建一个新的会话,shell进程作为会话首进程

会话id:会话首进程id,SID

前台进程组

shell进程启动时,默认是前台进程组的首进程。

前台进程组的首进程会占用会话所关联的终端来运行,shell启动其他应用程序时,其他程序成为首进程

后台进程组

后台进程中的程序是不会占用终端

在shell进程里启动程序时,加上&符号可以指定程序运行在后台进程组里面

ctrl+z

jobs:查看有哪些后台进程组

fg+job id可以把后台进程组切换为前台进程组

终端
  • 物理终端

    • 串口终端
    • lcd终端
  • 伪终端(虚拟出来的)

    • ssh远程连接产生的终端
    • 桌面系统启动的终端
  • 虚拟终端

    linux内核自带的,ctrl+alt+f0~f6可以打开7个虚拟终端

守护进程

会话用来管理前后台进程组

会话一般连着一个终端

当退出之后前后台进程都会被关掉

守护进程

不受终端影响,就算终端退出,也可以在后台运行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值