Provided by: manpages-posix-dev_2.16-1_all bug

NAME

       tcsetpgrp - set the foreground process group ID

SYNOPSIS

       #include <unistd.h>

       int tcsetpgrp(int fildes, pid_t pgid_id);

DESCRIPTION

       If  the  process  has  a  controlling  terminal,  tcsetpgrp()  shall  set the foreground process group ID
       associated with the terminal to pgid_id. The application shall  ensure  that  the  file  associated  with
       fildes  is  the  controlling  terminal  of  the calling process and the controlling terminal is currently
       associated with the session of the calling process. The  application  shall  ensure  that  the  value  of
       pgid_id matches a process group ID of a process in the same session as the calling process.

       Attempts  to  use  tcsetpgrp() from a process which is a member of a background process group on a fildes
       associated with its controlling terminal shall cause the process group to be sent a  SIGTTOU  signal.  If
       the  calling process is blocking or ignoring SIGTTOU signals, the process shall be allowed to perform the
       operation, and no signal is sent.

RETURN VALUE

       Upon successful completion, 0 shall be returned. Otherwise,  -1  shall  be  returned  and  errno  set  to
       indicate the error.

ERRORS

       The tcsetpgrp() function shall fail if:

       EBADF  The fildes argument is not a valid file descriptor.

       EINVAL This implementation does not support the value in the pgid_id argument.

       ENOTTY The  calling  process  does  not  have  a controlling terminal, or the file is not the controlling
              terminal, or the controlling terminal is no longer associated with  the  session  of  the  calling
              process.

       EPERM  The  value  of  pgid_id is a value supported by the implementation, but does not match the process
              group ID of a process in the same session as the calling process.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       None.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       tcgetpgrp() , the Base Definitions volume of IEEE Std 1003.1-2001, <sys/types.h>, <unistd.h>

COPYRIGHT

       Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003 Edition,
       Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open  Group  Base
       Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of Electrical and Electronics Engineers,
       Inc  and  The  Open Group. In the event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard  is  the  referee  document.  The
       original Standard can be obtained online at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group                                   2003                                          TCSETPGRP(P)