![]() Chapter Contents |
![]() Previous |
![]() Next |
| tcgetpgrp |
| Portability: | POSIX.1 conforming |
| SYNOPSIS | |
| DESCRIPTION | |
| RETURN VALUE | |
| EXAMPLE | |
| RELATED FUNCTIONS |
| SYNOPSIS |
#include <unistd.h> int tcgetpgrp(int fileDescriptor);
| DESCRIPTION |
tcgetpgrp
returns the process group identification (PGID) for the foreground
process group associated with a controlling terminal that is referred to by
the file descriptor
fileDescriptor
.
The
tcgetpgrp
function can be called from a background process to obtain the PGID
of a foreground process group. The process can then change from the background
group to the foreground process group by making a call to
tcsetpgrp
, specifying the PGID of the new foreground
group as one of the arguments passed to
tcsetpgrp
.
| RETURN VALUE |
If successful,
tcgetpgrp
returns the value of the forground process group identification
(PGID). A
-1
is returned
if unsuccessful.
| EXAMPLE |
The following example illustrates the
use of
tcgetpgrp
to obtain
the PGIDs for
stdin
,
stdout
, and
stderr
:
#include <sys/types.h>
#include <termios.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
main()
{
pid_t stdin_PGID, stdout_PGID, stderr_PGID;
/* Get the PGIDs for stdin, stdout, and stderr. */
stdin_PGID = tcgetpgrp(STDIN_FILENO);
if (stdin_PGID == -1) {
printf("Could not get PGID for stdin.n");
return(EXIT_FAILURE);
}
stdout_PGID = tcgetpgrp(STDOUT_FILENO);
if (stdout_PGID == -1) {
printf("Could not get PGID for stdout.n");
return(EXIT_FAILURE);
}
stderr_PGID = tcgetpgrp(STDERR_FILENO);
if (stderr_PGID == -1) {
printf("Could not get PGID for stderr.n");
return(EXIT_FAILURE);
}
printf("The PGID for stdin is %d.n", stdin_PGID);
printf("The PGID for stdout is %d.n", stdout_PGID);
printf("The PGID for stderr is %d.n", stderr_PGID);
return(EXIT_SUCCESS);
}
Note:
Also see the
setpgid
example. ![[cautionend]](../common/images/cautend.gif)
| RELATED FUNCTIONS |
![]() Chapter Contents |
![]() Previous |
![]() Next |
![]() Top of Page |
Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.