Linux系统下的终端,会话,shell,bash,进程组这几个概念的关系。

1.终端是指和shell交互的一个窗口,shell是命令解释器这一类软件的总称,而bash是shell其中的一个软件。所以打开终端这个窗口,其中运行的是bash这个shell软件。

2.每一个进程都属于某个进程组,进程组中有一个或多个进程,并且每个进程组都有独有的进程组ID。而会话包含多个进程组。会话中有一个首进程一般是bash。一般来讲只要不进行特殊的系统函数调用,一个bash上运行的所有进程都属于一个会话(包括这个bash)。

3.梳理一下这几个概念:当用户打开一个终端,那便会创建一个会话,并在此会话中启动一个shell进程(bash),这个shell进程便会成为这个会话的首进程,随后创建的进程均是首进程的子进程,并且被分配到不同的进程组中。

4.一个终端断开时,系统会给这个会话的首进程(bash)发送一个信号,而首进程会紧接着将这个信号分发给同会话的其他进程(他的子进程),其他进程收到后便会关闭,所有子进程关闭后,bash也会关闭。

相关推荐
岁杪杪3 小时前
关于运维:LINUX 零基础
运维·服务器·php
wdfk_prog3 小时前
[Linux]学习笔记系列 -- [drivers][I2C]I2C
linux·笔记·学习
猫头虎4 小时前
如何解决 OpenClaw “Pairing required” 报错:两种官方解决方案详解
网络·windows·网络协议·macos·智能路由器·pip·scipy
VekiSon4 小时前
Linux内核驱动——杂项设备驱动与内核模块编译
linux·c语言·arm开发·嵌入式硬件
tianyuanwo4 小时前
企业级NTP客户端配置指南:基于内部NTP服务器的实践
运维·服务器·ntp客户端
Y1rong4 小时前
linux之网络
linux
寄存器漫游者4 小时前
Linux 软件编程 - IO 编程
linux·运维·spring
charlotte102410244 小时前
高并发:关于在等待学校教务系统选课时的碎碎念
java·运维·网络
_别来无恙_4 小时前
TFTP的使用Linux
linux·服务器
gaize12134 小时前
Moltbot(Clawdbot) 专属轻量服务器
运维·服务器