图片来源:https://www.pixiv.net/en/artworks/74361938 名称 解释 task_struct 中的对应变量(定义在 include/linux/sched.h 中,均为全局ID,内核版本 v2.6.24) 对应的系统调用 PID (Process ID) 字面上是虽然是 进程 ID,实际上就是线程 ID,内核中进程、线程都使用 task_struct 结构表示 task_struct->pid pid_t gettid(void); TGID (Thread Group ID) 线程组 ID,即线程组组长的 PID,真正的进程 ID,如果进程只有一个线程则他的 PID 和 TGID 相同 task_struct->tgid pid_t getpid(void); PGID (Process Group ID) 进程组 ID,多个进程可以组合为进程组,方便向所有成员发送信号,进程组组长的 PID 即为PGID task_struct->signal->__pgrp pid_t getpgrp(void); SID(Session ID) 会话 ID,多个进程组可以组合为会话,会话的组长PGID 即为 SID task_struct->signal->__session pid_t getsid(pid_t pid); PPID (Parent Process ID) 父进程 ID task_struct->parent->pid pid_t getppid(void); 参考:
Monthly Archives: March 2023
1 post