set foreground process group ID
If the process has a controlling terminal, the
() function sets the foreground
process group ID associated with the terminal device to
. The terminal device associated with
must be the controlling terminal of the
calling process and the controlling terminal must be currently associated with
the session of the calling process. The value of
must be the same as the process group
ID of a process in the same session as the calling process.
If the calling process is a member of a background process group, the process
group will be sent a
signal. If the
calling process is blocking or ignoring
signals, the process is allowed to
perform the operation and the
signal is not sent.
Upon successful completion,
returns a value of zero.
If an error occurs,
() returns -1
and the global variable errno
is set to
indicate the error, as follows:
- The fd argument is not a valid file
tcsetpgrp() function was
interrupted by a signal.
- An invalid value of pgrp_id was
- The calling process does not have a controlling terminal, or the file
represented by fd is not the controlling
terminal, or the controlling terminal is no longer associated with the
session of the calling process.
- The pgrp_id argument does not match the
process group ID of a process in the same session as the calling
() function is expected to be
compliant with the IEEE Std 1003.1-1988