function获取当前进程UNIX的终端文件描述符

avd*_*avd 2 unix

我想用函数:

pid_t tcgetpgrp(int fildes);
Run Code Online (Sandbox Code Playgroud)

如何检索fildes(要传递给此函数).

并且此函数返回的进程组ID与返回的进程组ID相同

getpgrp(0)//0 for the calling process
Run Code Online (Sandbox Code Playgroud)

??

mar*_*k4o 5

通常标准输入,输出和/或错误(0,1或2)将连接到控制终端.确保只需打开/ dev/tty,如果有的话,它将永远是控制终端.从open()返回的文件描述符可以传递给tcgetpgrp(),然后在不再需要时关闭.

tcgetpgrp()函数返回前台进程组ID,而getpgrp()返回进程组ID.如果您的流程位于前台,它们将是相同的,如果您的流程在后台,则它们将是不同的.如果您的进程没有控制终端,tcgetpgrp()将返回错误,因此不在前台或后台.