查看原文
其他

一图理解终端、会话、 进程组、进程关系

The following article is from Linux阅码场 Author 宋宝华

药不能停,直接进入正题,本文3分钟读完。文中涉及到的缩写如下:
  • PID: 进程(process) ID
  • PPID:父进程(parent process) ID
  • PGID:进程组(process group) ID
  • SID:会话(session )ID
文中a.out对应的代码如下:

a.out代码

main()

{

    fork();

    while(1);

}

实验方法:


开一个terminal,运行三个a.out,得到3个进程组,6个a.out进程:

关系图如下:


解释如下:


  • bash的PPID是terminal
  • bash的PGID,SID都是bash自己的PID;
  • 3个a.out进程组所有6个进程的SID都是bash的PID;
  • 3个a.out进程组中的各个父进程PID会成为该进程组中所有进程的PGID;

进程树pstree关系如下:

通过ps命令验证如下:





后台回复“加群”,带你进入高手如云交流群


推荐阅读:

Linux 进程管理之四大名捕!

我的主业是路由器

分析 TCP 为什么会被 UDP 取代

常见六大Web安全攻防解析

从URL输入到页面展现到底发生什么?

Linux 性能调优的思路

解读HTTP/2与HTTP/3 的新特性(推荐)

腾讯工程师常用的开发效率神器汇总!

面试官问:HTTP的负载均衡你了解么

面试官:负载均衡的算法你了解不?

3000字讲讲 TCP 协议

2019 年大事件!

一文读懂云计算

一文搞懂 Linux 的 inode



喜欢,就给我一个“在看”



10T 技术资源大放送!包括但不限于:云计算、虚拟化、微服务、大数据、网络、Linux、Docker、Kubernetes、Python、Go、C/C++、Shell、PPT 等。在公众号内回复「1024」,即可免费获取!!

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存