C Linux内核中结构pid_类型的含义
我看到内核中的C Linux内核中结构pid_类型的含义,c,linux,C,Linux,我看到内核中的linux\pid.h定义了以下类型: enum pid_type { PIDTYPE_PID, PIDTYPE_TGID, PIDTYPE_PGID, PIDTYPE_SID, PIDTYPE_MAX, }; 而struct pid类型在跟踪与pid关联的任务时使用它: struct pid { atomic_t count; unsigned int level; /* lists of tasks that u
linux\pid.h
定义了以下类型:
enum pid_type
{
PIDTYPE_PID,
PIDTYPE_TGID,
PIDTYPE_PGID,
PIDTYPE_SID,
PIDTYPE_MAX,
};
而struct pid
类型在跟踪与pid关联的任务时使用它:
struct pid
{
atomic_t count;
unsigned int level;
/* lists of tasks that use this pid */
struct hlist_head tasks[PIDTYPE_MAX];
struct rcu_head rcu;
struct upid numbers[1];
};
但每一份清单都指的是什么?我的理解是,PIDTYPE\u PID
指的是将其用作PID的任务(从内核的角度来看是“线程ID”),而PIDTYPE\u TGID
指的是将其用作TGID的任务,即线程组ID,表示共享相同用户空间PID的一组线程,什么是PIDTYPE\u PGID
和PIDTYPE\u SID
?SID=session ID,
PGID=此处所述的过程组ID:
SID=会话ID,
PGID=此处所述的过程组ID: