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

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

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

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

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

相关推荐
CCYe、10 分钟前
新模型上线、旧模型下线:企业AI网关如何管住模型版本
java·网络·数据库·人工智能
葡萄城技术团队20 分钟前
从设备协议数据到完整OEE:机加工车间设备效率分析的技术实现路径
网络
mounter62522 分钟前
eBPF 驱动的云原生网络变革:Cilium 的前世今生与全机套接字迭代技术演进
linux·ebpf·linux kernel·kernel
赵庆明老师22 分钟前
用同一个用户登录宝塔面板的ftp与Linux的sftp
linux·运维·服务器
oushaojun223 分钟前
深入理解 Linux I2C 框架:内核子系统分层解析(转)
linux
山君爱摸鱼40 分钟前
堡垒机远程服务器故障收集
运维·服务器
码农小麦1 小时前
LangChain 1.3.18 + DeepSeek-v4-flash 工具调用踩坑实录
网络·数据库·langchain
不会就选b1 小时前
Linux之socket编程(六)----TCP-->模拟shell命令
linux·运维·tcp/ip
吴声子夜歌1 小时前
Guava——事件总线
java·网络·guava
YHHLAI1 小时前
TypeScript 高级工具类型面试指南
ubuntu·面试·typescript