Manual Page Result
0
Command: tcsetpgrp | Section: 3 | Source: OpenBSD | File: tcsetpgrp.3
TCSETPGRP(3) FreeBSD Library Functions Manual TCSETPGRP(3)
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
setpgid(2), setsid(2), tcgetpgrp(3)
STANDARDS
The tcsetpgrp() function is compliant with the IEEE Std 1003.1-1988
("POSIX.1") specification.
FreeBSD 14.1-RELEASE-p8 January 12, 2023 FreeBSD 14.1-RELEASE-p8