【Linux】进程组、作业、会话以及终端的理解

本文详细介绍了Linux中的进程组、作业、会话和终端的概念及其相互关系。进程组是一个进程集合,方便管理和发送信号。作业是由多个进程组成的,可以是前台或后台进程,通过shell进行控制。会话是多个进程组的集合,包含一个前台进程组和可能的后台进程组,与控制终端相关联。终端是会话的入口,控制终端的输入会被发送给前台进程组。了解这些概念有助于深入理解Linux进程的管理和交互。
摘要由CSDN通过智能技术生成

一、进程组

(1)概念

我们知道每一个进程除了自己的进程 ID外,还拥有一个进程组ID。

多个进程组成的集合叫做进程组。他们彼此之间不是孤立的,存在父子、兄弟等关系,每个进程都有父进程(除了0号进程),而所有的进程的父进程都是以init进程为根,形成一个树状结构。

如果我们需要发送一个任务到10个进程,让这10个进程去执行,但是如果我们因为某种原因需要终止这项进程,则需要一个一的把这些任务删除,并且还需要按照原来进程间的关系来删除。现在有了进程组,我们如果需要执行任务,则可以将这个任务发送到这个进程组,让这个进程组内所有进程执行,嗯u过想要取消这个任务,则可以通过进程组来取消,并且保证是按照进程间的关系来进行执行的。

(2)进程组的生命周期

进程组的生命周期从创建开始到其中最后一个进程离开为止的时间区称为进程组的生命期。

(3)进程组ID

进程组ID类似与进程ID–它是一个正整数,可以存放在pid_t数据类型中。我们可以通过getpgrp函数返回调用进程的进程组ID。进程组ID指的是组长进程的ID,所有进程的PGID都是该组的组长,该组是或否存在,只要组中至少还有一个进程存在,则该组存在,并且剩余的进程于它是否是组长进程是没有关系的。

二、作业

(1)概念

shell分前后台来控制的不是进程而是作业,或者进程组,一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值