前台进程,会话,控制终端,用户的关系

Linux进程间关系之进程组,作业,会话与作业控制。 本片博客用到的相关指令fg,bg,jobs,ps等可自行查阅。进程组每个进程除了有一个进程ID之外还有一个进程组ID。每个进程都属于一个进程组。进程组是一个或多个进程的集合。每个进程都有一个唯一的进程组ID。每个进程都有一个组长进程。 组长进程标志:其所属进程组ID等于其进程ID。 进程组就是进程的集合,这些进程并不是孤立的,他们彼此之间或者存在父子、兄弟关系,或者在功能上有相近的联系。每个进程 阅读详情

前台进程,会话,控制终端,用户的关系
1、 一个会话和一个控制终端一一对应
2、 一个控制终端对应一个前台进程组
3、一个会话拥有一个前台进程组和若干后台进程组
4、 会话中的所有进程都对应同一个控制终端
5、 只有前台进程可以read write控制终端
6、 控制终端收到一些特殊的信号字符,会发送相应的信号给前台进程组的进程
7、 控制终端退出或者控制进程的退出,会发送sighup信号给前台进程组
完整场景: 用户通过终端登录时,login shell 成为会话leader和控制进程,该终端被设置成为控制终端;login shell是该会话的唯一进程,在该终端中执行命令,会将命令中的进程放入一个新的进程组(前台or后台)执行;当终端关闭时,内核发送SIGHUP给控制进程,即login shell, login shell发送SIGHUP给由login shell创建的所有进程组,如果login shell控制进程退出,则kernel发送sighup给前台进程组中的所有进程(支持作业的情况下,也会发给后台进程组中的所有进程),SIGHUP的默认动作是终止进程,所以login shell和相应的子进程都终止,控制终端和会话的映射关系解除。


Setup&Hold互卡问题和Useful Skew的影响 setup和hold互卡问题分析 阅读详情

相关推荐

保姆级教程:在Rockchip RK3588 SDK中,如何为你的新硬件板子创建第一个DTS文件

本文提供在Rockchip RK3588 SDK中为自定义硬件创建首个DTS文件的详细教程。通过分析DTS在RK3588开发中的角色、快速定位参考设计、实操步骤及调试验证方法,帮助开发者高效完成硬件板级配置,特别适合嵌入式Linux系统开发者参考。

weixin_28678831的博客 283

第十四章: 会话、用户和注册

第十四章: 会话、用户和注册 2 2 2 3 3 2 1 5 1 1 2 1 1

778

维纳滤波和卡尔曼滤波

本文的主要内容是维纳滤波和卡尔曼滤波的介绍,包含匹配滤波器、维纳滤波器、维纳预测、卡尔曼滤波等内容。

西岸贤 9518

会话与终端

会话(session)是操作系统中用于管理进程的抽象概念,它提供了一个运行环境和资源共享的上下文。会话包含了一组相关的进程,这些进程具有共同的会话标识符(session ID)。在一个会话中,通常有一个特殊的进程被指定为会话首领(session leader)。会话首领是该会话的控制进程,它通常是由用户启动的程序(如shell)。会话首领的进程ID(PID)就是该会话的ID。一个会话可以包含多个进程组(process group),每个进程组由一组进程构成。

m0_73731708的博客 928

TIP 2024 | 跨类与跨域语义增强用于域泛化

域泛化方法旨在通过多样化的源域帮助开发一个在未知目标域上表现良好的通用模型。数据增强已被证明是增强计算机视觉中域泛化的有效方法。最近,基于语义级别的数据增强取得了显著成果。然而,这些方法主要集中在从类内和域内采样语义方向,限制了源域的多样性。为了解决这个问题,作者提出了一种新的方法,称为跨类与跨域语义增强(CDSA)。首先,作者引入了一种基于采样的方法CrossSmooth,从跨类中获取语义方向。然后,CrossVariance通过采样语义方向获取不同域的样式。

小白学视觉 210

SAP OData 开发从入门到提高教程的目录

笔者 18 年的 SAP 技术开发生涯,对 SAP OData 服务的开发,测试,发布,部署,测试,及基于各种不同 SAP 技术实现的 OData 服务的幕后技术实现细节和使用场合,均有着深入的研究。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 7234

图解终端、会话、 进程组、进程ID之间的关系

文中涉及到的缩写如下: PID: 进程(process) ID PPID:父进程(parent process) ID,创建某进程的父进程 PGID:进程组(process group) ID,进程所在的进程组 SID:会话(session )ID,进程所隶属的会话 文中a.out和pidTest对应的代码如下: #include <iostream> #include <unistd.h> int main() { fork(); //创建子进程 wh...

jinking01的专栏 728

毕设-YOLOv8-OBB 实现自有数据集缺陷旋转检测全过程记录

这次项目让我深入理解了 YOLOv8-OBB 的原理和使用流程。步骤内容工具数据标注制作倾斜缺陷样本格式转换从 HBB 转换为 OBB模型训练使用 Ultralytics YOLOv8 OBBCLI 命令模型测试推理与结果可视化通过 OBB 模型,我的缺陷检测系统获得了更高的精度和鲁棒性。未来我打算继续优化数据增强方式,比如引入随机旋转、仿射变换等,让模型更适应不同角度的样本。

FJN110的博客 446

Linux-进程、进程组、作业、会话、控制终端详解

From:http://www.cnblogs.com/JohnABC/p/4079669.html Linux进程优先级的处理--Linux进程的管理与调度(二十二):http://blog.youkuaiyun.com/gatieme/article/details/51719208 进程 、进程组、会话、控制终端之间的关系:http://blog.youkuaiyun.com/yh1548503342/ar

freeking101的博客 2054

在 SAP BTP 中为 SAP AI Core 创建 Service Instance 和 Service Key 的完整实战指南

摘要:本文详细介绍了在SAP BTP上创建AI Core服务实例和密钥的关键步骤,这是实现ABAP系统与Gen AI大语言模型集成的核心技术环节。文章通过一个制造业财务问答场景的案例,系统梳理了从前提条件准备、架构理解到具体操作的全过程,重点解析了service instance创建、X.509证书配置等关键节点。特别强调了Extended计划选择、证书格式等易错点,为ABAP开发人员实现Gen AI场景提供了实用指南。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 270

无需SLAM建图,直接生成Gazebo仿真环境的二维代价地图的功能包pgm_map_creator适配ROS Noetic编译报错及解决方法

在ROS Noetic中,使用`pgm_map_creator`功能包直接生成Gazebo仿真环境的二维代价地图时,可能会遇到各种编译和运行错误。本篇博客详细解析了在适配ROS Noetic过程中常见的报错及其解决方法,包括Boost文件结构更新、C++版本兼容性、Gazebo函数名变更、链接库缺失以及protobuf文件加载错误。通过逐步排查和修改,如更换头文件路径、调整C++标准、更新CMakeLists.txt文件等,成功解决了这些问题,使得`pgm_map_creator`功能包能够顺利编译和运行。

慕羽★的博客 2261

106-多进程开发:终端、进程组、会话

14、终端、进程组、会话 14.1 终端 在UNIX系统中,用户通过终端登录系统后得到一个shell进程,这个终端成为shell 进程的控制终端(Controlling Terminal),进程中,控制终端是保存在PCB中的信息,而fork()会复制PCB 中的信息,因此由shell 进程启动的其它进程的控制终端也是这个终端。 默认情况下(没有重定向),每个进程的标准输入、标准输出和标准错误输出都指向控制终端,进程从标准输入读也就是读用户的键盘输入,进程往标准输出或标准错误输出写也就是输出到显示器上。 在

Edward_LF的博客 388

全志平台camera驱动开发(3)MIPI接口camera驱动开发

详细沟通: 请加video_D 目前开发过的allwinner平台: V5/V3/V3S/V40/T3/T7/A64等 开发过的mipi sensor: sony:imx317、imx477、imx274、imx258、imx286、imx307、imx385等 ov:ov2718、ov12895、ov2710等 ar: ar0238等 国产:gc1024、gc1034...

jzwjzw19900922的博客 9027

会话、前台进程组、后台进程组、孤儿进程等相关概念

终端登录: 当系统自举时,内核创建ID为1的进程,也就是init进程,init进程系统进入多用户状态。 init进程读取/etc/inittab,对每一个允许登录的终端设备,init调用一次fork,它所生成的子进程执行(exec)getty程序。 getty为终端设备调用open函数,如果没有请求则阻塞,如果有请求,则文件描述符0,1,2就设置到该设备,然后getty输出”login“等的

Hello,World 2300

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Unix/Linux编程:会话

会话是一组进程组的集合。 多个进程组构成一个「会话」,建立会话的进程是会话的领导进程,该进程 ID 为会话的 SID。 会话中的每个进程组称为一个「作业」。 会话可以有一个进程组称为会话的「前台作业」,其它进程组为「后台作业」 一个会话可以有一个控制终端,当控制终端有输入和输出时都会传递给前台进程组,比如Ctrl + Z。会话的意义在于能将多个作业通过一个终端控制,一个前台操作,其它后台运行。 进程组(工作)的概念较为简单易懂。而会话主要是针对一个终端建立的。 当我们打开多个终端窗口时,实际上就创建了

OceanStar的博客 619

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Linux操作系统:进程间关系

大家平时遇见的服务端,比如微信的服务端,难道就是要保证24小时的终端打开吗?显然不是的,所以今天我们就为大家拓展介绍一下进程间的各种关系与守护进程的概念。

2501_94114815的博客 27

守护进程介绍

◼ 进程组和会话在进程之间形成了一种两级层次关系:进程组是一组相关进程的集合,会话是一组相关进程组的集合。进程组和会话是为支持 shell 作业控制而定义的抽象概念,用户通过 shell 能够交互式地在前台或后台运行命令。◼ 进行组由一个或多个共享同一进程组标识符(PGID)的进程组成。一个进程组拥有一个进程组首进程,该进程是创建该组的进程,其进程 ID 为该进程组的 ID,新进程会继承其父进程所属的进程组 ID。

qq_53004789的博客 173

进程间关系与守护进程

作业是针对用户来讲,用户完成某项任务而启动的进程,一个作业既可以只包含一个进程,也可以 包含多个进程,进程之间互相协作完成任务, 通常是一个进程管道。Shell分前后台来控制的不是进程⽽是作业 或者进程组。⼀个前台作业可以由多个进程组成,⼀个 后台作业也可以由多个进程组成,Shell可以同时运行⼀个前台作业和任意多个后台作业,这称为作业控制。例如下列命令就是⼀个作业,它包括两个命令,在执行时Shell将在前台启动由两个进程组成的作业:运行结果如下所示:xfsext4ext3ext2。

2501_92795260的博客 321

unix系统的终端、进程、进程组、会话、控制终端、作业控制之间的关系

本文介绍什么是终端、进程、进程组、会话、控制终端以及作业

weixin_48344581的博客 917

全面理解进程组,会话的基础概念,以及进程组,会话,控制终端,前台进程组与后台进程组之间的联系(系列文章第二篇)

进程组是一种将进程组织在一起的方法,会话则是将进程组组织在一起的方法。进程组和会话之间的关系是为了更好地对进程进行组织和管理。多个相关的进程组成一个进程组,多个相关的进程组又可以组成一个会话。在一个会话中,有一个前台进程组和一个或多个后台进程组。控制终端则关联到会话,负责接收用户的输入并将其传递给前台进程组,同时也负责显示来自进程的输出。

weixin_49503250的博客 1455

深入理解Linux系统:进程组、会话、作业、控制终端与守护进程的关系解析

本文探讨了进程组、会话、控制终端和作业的基本概念及其相互关系。首先,介绍了进程组的定义和作用,接着解释了会话、控制终端和作业的概念,并分析了它们之间的联系。文章最后讨论了守护进程的功能及其在系统中的重要性。通过对这些概念的系统性讲解,读者可以更清晰地理解进程管理的机制和各组件的协作方式。

无敌岩雀的博客 2104

【Linux】终端,进程组,作业,会话及作业控制

终端概念       在UNIX系统中,用用户通过终端登录系统后得到一一个Shell进程,这个终端成为Shell进程的控制终端 (Controlling Terminal),控制终端是保存在PCB中的信息,而我们知道fork会复制PCB中的信息,因此由Shell进程启动的其它进程的控制终端也是这个终端。        默认情况 下(没有重定向),每个进程的标准输入、标准输出和标准错误输出都指向控制

lixungogogo的博客 5892

进程组,会话,控制终端,setsid(),守护进程

是一组相关的进程,它们共享同一个进程组 ID(PGID),并且通常一起执行某些任务。进程组使操作系统能够将相关的进程集合起来,进行统一的管理,尤其在信号处理和进程控制方面,操作系统通过进程组来简化对一组进程的操作。

cyz322649的博客 907

浅谈unix进程,进程组,会话和控制终端的关系

最近看apue进程关系这一章,觉得有必要写一篇博客做个总结 在uni

qsfool1987的专栏 1710

【Linux】守护进程与作业控制:进程组、会话与控制终端

本文深入探讨了守护进程的概念及其在 UNIX/Linux 系统中的重要性。守护进程作为后台运行的进程,承担着系统管理和资源监控的任务。首先介绍了进程组和会话的基本定义,阐明了它们在进程管理中的作用。接着,详细解释了控制终端的功能及其与会话的关系,以及如何通过作业控制实现对进程的管理和调度。此外,文章还讨论了中断信号和挂断信号的机制,帮助读者理解这些概念如何影响进程的运行状态。通过对这些基本概念的深入分析,读者将能够更好地掌握守护进程及其在操作系统中的应用。

卜及中的博客 1016
上一篇: 解读条件变量
下一篇: 判断进程是否存在的几种方法
codinghonor
博客等级 码龄12年 2粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值