# ps -o pid,pgid,ppid,sid,tty,comm | cat
PID PGID PPID SID TT COMMAND
16505 16505 16503 16505 pts/0 bash
19076 19076 16505 16505 pts/0 ps
19077 19076 16505 16505 pts/0 cat
PID:进程id
PGID:进程组id
PPID:父进程id
SID:会话(session)ID
TT:控制终端
COMMAND:命令
根据以上信息可以画出相互之间的关系:
pid_t setsid(void)函数功能描述:
如果调用进程不是进程组长,setsid会创建一个新的session;函数返回时该调用进程成为该session的leader,也成为新进程组的组长,且没有控制终端.调用进程是新session和group里唯一的进程