进程、进程组、会话期

news2024/11/24 2:21:27

进程

在内核中,每个进程都使用一个不同的大于零的正整数来标识,称为进程号pid(process ID)。

进程组

一个进程可以通过 fork() 调用创建一个或多个子进程,这些进程就可以构成一个进程组。例如,

liyongjun@Box:~$ sleep 100 | sleep 200 | sleep 300

$ ps -efj
UID          PID    PPID    PGID     SID  C STIME TTY          TIME CMD
liyongj+  826811    2322  826811  826811  0 22:29 pts/93   00:00:00 bash
liyongj+  826822  826811  826822  826811  0 22:29 pts/93   00:00:00 sleep 100
liyongj+  826823  826811  826822  826811  0 22:29 pts/93   00:00:00 sleep 200
liyongj+  826824  826811  826822  826811  0 22:29 pts/93   00:00:00 sleep 300

三个 sleep 就同属于一个进程组 PGID = 826822。
进程组是一个或多个进程的集合,与进程类似,每个进程组都有一个唯一的进程组标号 gid(Group ID)。进程组号 gid 也是一个正整数,每一个进程组都有一个称为组长的进程,组长进程就是其进程号 pid 等于进程组号 gid 的进程。
一个进程可以通过调用 setgpid() 来参加一个现有的进程组或者创建一个新的进程组。
进程组的概念有很多用途,其中最常见的是我们在终端上向前台执行程序发出终止信号(Ctrl-C),同时终止整个进程组中的所有进程。例如,如果我们向上述管道命令发出终止信号,则三个命令将同时终止执行。

会话期

会话期(Session,或称为会话)则是一个或多个进程组的集合。通常情况下,用户登录后所执行的所有程序都属于一个会话期,而其登录 shell 则是会话期首进程(Session leader),并且它所使用的终端就是会话期的控制终端(Controlling Terminal),因此会话期首进程通常也被称为控制进程(Controlling Process)。
当我们退出(logout)时,所有属于我们这个会话期的进程都将被终止。这也是会话期概念的主要用途之一
例如,telnet 登录系统后,通过该会话创建的所有进程,在 telnet 登出或者断开连接时,这些进程都将终止。

进程、进程组、会话期之间的关系

在这里插入图片描述
一个终端只能作为一个会话期的控制终端,前台进程组就是会话期中拥有控制终端的一个进程组,而会话期中的其它进程组则称为后台进程组。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/461527.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

UE4架构初识(四)

目录 UE4仿真引擎学习 一、架构基础 1. GameMode 2. GameState 3. GameSession UE4仿真引擎学习 一、架构基础 1. GameMode 即使最开放的游戏也拥有基础规则,而这些规则构成了 Game Mode。在最基础的层面上,这些规则包括: 出现的玩家和…

深度赋能产业数字化转型,蚂蚁集团数字化三件套亮相中国国际金融展

“十四五”规划纲要指出:加快推动数字产业化,推进产业数字化转型,实施“上云用数赋智”行动,推动数据赋能全产业链协同转型。明确提出了通过科技创新,加快产业数字化转型的要求。 4月25日,以“荟萃金融科技…

Flowable打印调用原生API查询接口的SQL日志

一.简介 建议在 Spring Boot 的 application.properties 中添加如下配置,开启 flowable 日志: logging.level.org.flowabledebug这个配置表示开启 flowable 的日志,开启日志的好处是可以看到底层的 SQL语句。 二.查询部署信息 例如查询流…

【python中的魔法方法有哪些?】

__init__(self, ...): 类的构造函数,用于创建一个类的实例并初始化它的属性。__str__(self): 返回对象的字符串表示形式,可以用于打印对象或者转化成字符串。__repr__(self): 返回对象的字符串表示形式,通常是用于开发者调试和查看对象信息。…

4.24~25(总结)

第一周任务 - Virtual Judge 分析:这道题开始想错了,所以错了一次。后来又仔细读了一遍题,才发现,要是最长的那个排序子数组,所以第二次就做出来了,它其实应该分为两大块,第一块找左边的起点&a…

HTTPS (HTTP+SSL) 对称/非对称加密 中间人攻击 证书加密

💖 欢迎来阅读子豪的博客(JavaEE篇 🤴) 👉 有宝贵的意见或建议可以在留言区留言 💻 欢迎 素质三连 点赞 关注 收藏 🧑‍🚀码云仓库:补集王子的代码仓库 不要偷走我小火…

“源擎”云原生分布式核心业务系统有什么产品优势?

“源擎”核心系统利用云原生、分布式、微服务技术,基于企业架构设计思想,构建了基础服务、业务服务、交易中心以及系列支撑组件,包含业务架构和多个微服务应用。 业务架构中,交易中心为银行提供了更灵活的选择,支持产…

出现Invalid bound statement (not found)问题的解决办法(已解决)

前言: 今天在写项目时出现了Invalid bound statement (not found):xxxx这个问题,网上找了很多博客都不行,最后修改了配置文件解决了问题,借此将此类问题常见的解决办法汇总一下。 话不多说,直接列出解决办法如下&…

linux-0.11 研究

前言 多阅读优秀代码,才能提高快速、深刻理解代码的能力。linux 内核源码无疑是最好的选择,不过当前 linux 内核版本为 6.3,代码量是相当庞大了,别说看完整个代码了,就算是看完一个子系统,都是不太现实的。…

PostgreSQL的安装与配置(Windows版本)

下载windows安装包 官网地址 安装 官网下载安装包 安装 测试 默认信息直接回车,最后密码输入设置的超级用户密码即可

【Python游戏】在这款程序员游戏新作《现代空战—战机游戏》里,你可以体验一把紧张的空战感觉、刺激鸭~打飞机游戏都能有那么多骚操作……

导语 不知道大家有没有幻想过遨游在广阔蓝天进行惊险的空战吗? 所有文章完整的素材源码都在👇👇 粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。 虽然这样的画面常常只会出现在电影之中,但小编今天给大家编写的一款…

【数据结构】顺序表和链表基本实现(含全代码)

文章目录 一、什么是线性表1. 什么是顺序表动态开辟空间和数组的问题解释LeetCode-exercise 2. 什么是链表2.1链表的分类2.2常用的链表结构及区别2.3无头单向非循环链表的实现2.4带头双向循环链表的实现2.5循序表和链表的区别LeetCode-exercise 3. 快慢指针LeetCode-exercise 一…

【牛客刷题专栏】0x24:JZ23 链表中环的入口结点(C语言编程题)

前言 个人推荐在牛客网刷题(点击可以跳转),它登陆后会保存刷题记录进度,重新登录时写过的题目代码不会丢失。个人刷题练习系列专栏:个人CSDN牛客刷题专栏。 题目来自:牛客/题库 / 在线编程 / 剑指offer: 目录 前言问…

【GPT】文本生成任务(生成摘要、文本纠错、机器翻译等的模型微调)

note 文章目录 note一、NLG任务二、NLG之文本摘要2.1 基于mT5的文本摘要2.2 基于openai接口测试2.3 基于chatGPT接口 三、根据自己的数据集进行模型微调四、文本纠错任务五、机器翻译任务Reference 一、NLG任务 NLG:自然语言生成任务,很多NLP任务可以被…

Redis入门到入土(day02)

五大数据类型 官方文档 全段翻译: Redis是一个开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。它支持数据结构,例如字符串,哈希,列表,集合&#…

vue项目 解决el-table自适应高度,vue页面不显示多条滚动条,超出的部分让el-table内部出现滚动条(推荐使用第二种解决方案)

一、需求 后台管理系统:最常见的页面都是由—>左侧菜单、头部tabView页签、主体数据渲染页面(AppMain);而一般AppMain页面又分为: 搜索区域、table数据(分页),可能也会存在底部&a…

Reid训练代码之数据集处理

本篇文章是对yolov5_reid这篇文章训练部分的详解。 该项目目录为: . |-- config # reid输入大小,数据集名称,损失函数等配置 |-- configs # 训练时期超参数定义 |-- data # 存储数据集和数据处理等代码,以及yolov5类别名称等 |--…

【高分论文密码】大尺度空间模拟预测与数字制图技术

大尺度空间模拟预测和数字制图技术和不确定性分析广泛应用于高分SCI论文之中,号称高分论文密码。 大尺度模拟技术可以从不同时空尺度阐明农业生态环境领域的内在机理和时空变化规律,又可以为复杂的机理过程模型大尺度模拟提供技术基础。 在本次&#x…

cocosLua 之 RichText(1)

结构 富文本主要通过RichText来实现, 其继承结构: #mermaid-svg-AHbMrHe3zp3q1wTZ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-AHbMrHe3zp3q1wTZ .error-icon{fill:#552222;}#mermaid-svg-AHbMrHe3z…

Linux下ds18b20驱动开发获取温度

文章目录 一、修改并且编译设备树(1)修改设备树(2)修改开发板设备树进行reboot 二、硬件连接三、驱动开发与测试(1)编写设备驱动(2)编写测试代码(3)Makefile&…