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

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

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

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

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

相关推荐
B2_Proxy1 天前
IP 来源合规性,正在成为全球业务的隐性门槛
网络·爬虫·网络协议·安全
Yana.nice1 天前
openssl将证书从p7b转换为crt格式
java·linux
AI逐月1 天前
tmux 常用命令总结:从入门到稳定使用的一篇实战博客
linux·服务器·ssh·php
想逃离铁厂的老铁1 天前
Day55 >> 并查集理论基础 + 107、寻找存在的路线
java·服务器
小白跃升坊1 天前
基于1Panel的AI运维
linux·运维·人工智能·ai大模型·教学·ai agent
MMME~1 天前
Ansible Playbook高效自动化实战指南
网络·自动化·ansible
跃渊Yuey1 天前
【Linux】线程同步与互斥
linux·笔记
数据安全科普王1 天前
从 HTTP/1.1 到 HTTP/3:协议演进如何改变 Web 性能?
网络·其他
舰长1151 天前
linux 实现文件共享的实现方式比较
linux·服务器·网络
学***54231 天前
如何轻松避免网络负载过大
开发语言·网络·php