linux内核之进程的基本概念(进程,进程组,会话关系)

进程是操作系统的一个核心概念。每个进程都有自己唯一的标识:进程ID,也有自己的生命周期。一个典型的进程的生命周期如图4-1所示。
linux内核之进程的基本概念(进程,进程组,会话关系)_第1张图片


进程都有父进程,父进程也有父进程,这就形成了一个以init进程为根的家族树。除此以外,进程还有其他层次关系:进程、进程组和会话。
进程组和会话在进程之间形成了两级的层次:进程组是一组相关进程的集合,会话是一组相关进程组的集合。
这样说来,一个进程会有如下ID:
·PID:进程的唯一标识。对于多线程的进程而言,所有线程调用getpid函数会返回相同的值。
·PGID:进程组ID。每个进程都会有进程组ID,表示该进程所属的进程组。默认情况下新创建的进程会继承父进程的进程组ID。
·SID:会话ID。每个进程也都有会话ID。默认情况下,新创建的进程会继承父进程的会话ID。
可以调用如下指令来查看所有进程的层次关系:

  1. ps -ejH
  2. ps axjf
进程,可以调用以下函数获取进程组ID跟会话ID.

  1. pid_t getpgrp(void);

你可能感兴趣的:(shell,运维,操作系统)