NAME
tcsetpgrp
—
set foreground process group
ID
SYNOPSIS
#include
<unistd.h>
int
tcsetpgrp
(int
fd, pid_t
pgrp_id);
DESCRIPTION
If the process has a controlling terminal, the
tcsetpgrp
()
function sets the foreground process group ID associated with the terminal
device to pgrp_id. The terminal device associated with
fd 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 pgrp_id
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 SIGTTOU
signal. If
the calling process is blocking or ignoring SIGTTOU
signals, the process is allowed to perform the operation and the
SIGTTOU
signal is not sent.
Upon successful completion,
tcsetpgrp
()
returns a value of zero.
ERRORS
If an error occurs, tcsetpgrp
() returns -1
and the global variable errno is set to indicate the
error, as follows:
- [
EBADF
] - The fd argument is not a valid file descriptor.
- [
EINTR
] - The
tcsetpgrp
() function was interrupted by a signal. - [
EINVAL
] - An invalid value of pgrp_id was specified.
- [
ENOTTY
] - 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.
- [
EPERM
] - The pgrp_id argument does not match the process group ID of a process in the same session as the calling process.
SEE ALSO
STANDARDS
The tcsetpgrp
() function is compliant with
the IEEE Std 1003.1-1988 (“POSIX.1”)
specification.