分类:
2008-11-28 13:56:48
9.7 tcgetpgrp, tcsetpgrp, and tcgetsid Functions
#include pid_t tcgetpgrp(int filedes); |
Returns: process group ID of foreground process group if OK, 1 on error |
int tcsetpgrp(int filedes, pid_t pgrpid); |
Returns: 0 if OK, 1 on error |
这两个函数可以分别获得当前session的foreground process group. 以及设置当前session的foreground process group。但是这2个函数不是一般的程序要执行的,一般都是由job control shell来完成的。
#include pid_t tcgetsid(int filedes); |
Returns: session leader's process group ID if OK, 1 on error |
这个函数可以根据一个controlling terminal的descriptor来获取controlling process 的pid,也就是session leader 的pid. 我觉得如果一个application想要对controlling terminal进行一些操作,他可能没这个权利,好,它可以通过这个操作找到有权力的进程,即controlling process,告诉controlling process去完成这个操作。