tcsetpgrp - set foreground process group ID
#include <sys/types.h>
#include <unistd.h>
int
tcsetpgrp(int fd, pid_t pgrp_id);
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.
Upon successful completion, tcsetpgrp() returns a value of
zero.
If an error occurs, tcgetpgrp() 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.
[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.
setpgid(2), setsid(2), tcgetpgrp(3)
The tcsetpgrp() function is expected to be compliant with
the IEEE Std
1003.1-1988 (``POSIX'') specification.
OpenBSD 3.6 March 29, 1992
[ Back ] |