Linux中,进程都拥有以下的ID

  • Process ID(PID)
    Linux中标识进程的一个数字,它的值是不确定的,是由系统分配的(但是有一个例外,启动阶段,kernel运行的第一个进程是init,它的PID是1,是所有进程的最原始的父进程),每个进程都有唯一PID,当进程退出运行之后,PID就会回收,可能之后创建的进程会分配这个PID
  • Parent Process ID(PPID)
    字面意思,父进程的PID
  • Process Group ID(PGID)
    PGID就是进程所属的Group的Leader的PID,如果PGID=PID,那么该进程是Group Leader
  • Session ID(SID)
    和PGID非常相似,SID就是进程所属的Session Leader的PID,如果SID==PID,那么该进程是session leader

Session和Group都是管理多个进程的方式,同一个Group的进程属于同一个Session,一个Session里可以包含多个Group
ps j或者ps -j都可以显示出以上四个ID,命令如下

ps axj
ps -efj

意义

group和session虽然都是进程的集合,但是他们的意义不同。fork出的子进程,会继承group和session(PGID和SID与父进程相同)
session与终端相关(Control terminal),同一个终端启动的进程默认会在一个session里。例如图形界面的终端(比如GNOME按ctrl+atl+T呼出的命令行界面),都是虚拟终端(Virtual terminal),他们实质上只有一个终端在真正起作用,输入w命令,可以看到所有的control terminal。
group则是方便管理,比如发送信号,kill可以一次向一个group的进程发送同一个信号,ctrl+z进入后台、bg、fg都可以对一个group的进程起作用。比如ctrl+z可以将一个group的进程stop暂停运行,fg可以让一个group继续运行

top #在前台运行一个top
按下ctrl+z,top进入stopped状态
bg %1 #让top在后台运行,相当于运行top &,输出信息会显示在当前的shell上
fg %1 #让top在前台运行

这里的top如果是多进程的程序,他们在共同的group中,也有相同的效果

PID, PPID, PGID与SID相关推荐

  1. linux查看进程ppid,pidof命令从运行的进程中以名称查找出进程号PID/PPID横向大到小展示...

    1.释义 从运行的进程中以名称查找出进程号PID/PPID横向大到小展示 2.系统帮助 PIDOF(8) Linux System Administrator's Manual PIDOF(8) NA ...

  2. Linux | UID/PID/PPID | ps -ef/netstat/kill

    常用的名词解释: UID是用户ID,PID是进程ID,PPID是父进程ID. UID 用户身份证明(User Identification)的缩写.UID用户在注册会员后,系统会自动的给你一个UID的 ...

  3. The Linux Process Principle, PID、PGID、PPID、SID、TID、TTY

    转载自: https://blog.csdn.net/liujianfei526/article/details/50605813 2 Linux 进程的相关标识 0x1: PID(Process I ...

  4. UID PID PPID 区别

    UID是用户ID,PID是进程ID,PPID是父进程ID. UID UID 用户身份证明(User Identification)的缩写.UID用户在注册会员后,系统会自动的给你一个UID的数值.意思 ...

  5. Python day 34 并发编程、PID/PPID、实现多进程得两种方式

    ## 进程及并发的产生 ```python 进程指的是正在运行的程序,是一系列过程的统称,也是操作系统在调度和进行资源分配的基本单位 并发,指的是多个任务同时被执行,并发编程指的是编写支持多任务并发的 ...

  6. 34 进程 pid ppid 并发与并行,阻塞与非阻塞 join函数 process对象 孤儿进程与僵尸进程...

    进程与程序 一个正在被运行的程序就称之为进程,是程序具体执行过程,一种抽象概念 进程来自于操作系统 多进程:多个正在运行的程序. 测试: import timewhile True: time.sle ...

  7. linux查看pid的用户名,在Linux中用Pstree命令及显示PID和PGID,显示命令行参数及突出显示...

    在本文中,我们将讨论在Linux系统中使用pstree命令,它与ps类似,但是它没有列出正在运行的进程,而是将它们显示在树中,树状格式是一种更方便的方式来显示流程层次结构,并使输出在视觉上更具吸引力. ...

  8. Unix环境高级编程—进程关系

    终端登录 网络登录 进程组 getpgrp(void) setpgid(pid_t pid, pid_) 会话: 是一个或多个进程组的集合,通常由shell的管道将几个进程编成一组. setsid(v ...

  9. nohup命令_后台任务与nohup命令

    在 Linux 的终端中运行某些命令时,我们往往希望让它们在后台运行稳定运行而不受本地关闭终端窗口或网络断开连接的干扰. 先来了解一下:当用户注销(logout)或者网络断开时,终端会收到 SIGHU ...

最新文章

  1. [bzoj4562][Haoi2016]食物链_记忆化搜索_动态规划
  2. Oracle数据库安装响应文件,1.2.6 步骤6:配置应答文件,然后运行安装程序(2)...
  3. Sed教程(五):管理模式、正则表达式、使用功能
  4. 17家银行工资单:招行人均45万夺冠
  5. tdd java_适用于Idea的面向现代TDD的Java 8 JUnit测试模板(带有Mockito和AssertJ)
  6. 论文推荐|Mask TextSpotter:An End-to-End Trainable Neural Network
  7. Ubuntu 安装 CLI 并运行 ASP.NET Core 1.0
  8. python中常用的函数有哪些_python里常用的函数类型
  9. 【车型识别】基于小波和盒维数实现车型识别含Matlab源码
  10. cad批量打印快捷键_CAD高效批量打印成PDF
  11. 4针串口线接法图_com串口线接法
  12. 域名可以用多久_一个域名能用多少年
  13. item2vec--word2vec在推荐领域的使用
  14. uniapp 快速实现简单首页布局
  15. Spring注解开发学习笔记
  16. cst matlab,CST-MATLAB-API-1.0.0 Linking matlab and cst - 下载 - 搜珍网
  17. java二级考什么_计算机二级主要考什么内容?
  18. 美图手机显示服务器异常怎么回事,美图手机的云服务器
  19. 618这款秒杀神器Python介绍给你,低调使用哦,因为太赞了
  20. (经验)互联网产品经理可以读的书

热门文章

  1. jQuery实现购物车的操作
  2. 附完整python源码)基于tensorflow、opencv的入门案例_发票识别一:关键区域定位
  3. JavaScript 数值转换为字符串
  4. 梯度爆炸和梯度消失, 深度学习,视频笔记;DL:deeplizard
  5. LeetCode - 合并两个有序链表
  6. python 类中的 __getitem__方法
  7. 粉丝提问:区块链与大数据开发读研方向怎么选?
  8. jjwt 生成token
  9. 《弹球学成语》需求分析报告
  10. 7-1 用虚函数计算各种图形的面积 (20分) 定义抽象基类Shape,由它派生出五个派生类:Circle(圆形)、Square(正方形)、Rectangle( 长方形)、Trapezoid (梯形)