- get foreground process group ID
#include <sys/types.h> #include <unistd.h> pid_t tcgetpgrp(int fildes);
The tcgetpgrp() function will return the value of the process group ID of the foreground process group associated with the terminal.
If there is no foreground process group, tcgetpgrp() returns a value greater than 1 that does not match the process group ID of any existing process group.
The tcgetpgrp() function is allowed from a process that is a member of a background process group; however, the information may be subsequently changed by a process that is a member of a foreground process group.
Upon successful completion, tcgetpgrp() returns the value of the process group ID of the foreground process associated with the terminal. Otherwise, -1 is returned and errno is set to indicate the error.
The tcgetpgrp() function will fail if:
The fildes argument is not a valid file descriptor.
The calling process does not have a controlling terminal, or the file is not the controlling terminal.
See attributes(5) for descriptions of the following attributes: