function returns the value of the process group ID of the foreground
process group associated with the terminal device.
If there is no foreground process group,
returns an invalid process ID.
If an error occurs,
returns -1 and the global variable
is set to indicate the error, as follows:
Bq Er EBADF
argument is not a valid file descriptor.
Bq Er ENOTTY
The calling process does not have a controlling terminal or the
underlying terminal device represented by
is not the controlling terminal.