一个进程中包含了 进程id,父进程id,进程组id,进程session id,当前进程session中前台进程组id。
这些东西对理解进程间关系很重要。
下面的代码打印出这些信息。
static void pr_ids(char *name)
{
printf("%s: pid = %d, ppid = %d, pgrp = %d, sid = %d, tpgrp = %d/n",
name , getpid(), getppid(), getpgrp(), getsid(0), tcgetpgrp(STDIN_FILENO));
fflush(stdout);
}
另外可以用ps打印相关信息
ps --forest -s 7088 -o stat,pid,ppid,pgid,sid,tpgid,comm
这个命令就是打印出session id为7088的各个进程关系的信息。