Differences between version 3 and predecessor to the previous major change of getpgid(2).
Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 3 | Last edited on Tuesday, December 31, 2002 1:20:19 am | by PerryLorier | Revert |
Older page: | version 1 | Last edited on Tuesday, June 4, 2002 12:23:41 am | by perry | Revert |
@@ -1,133 +1,30 @@
-SETPGID
-!!!SETPGID
-NAME
-SYNOPSIS
-DESCRIPTION
-RETURN VALUE
-ERRORS
-CONFORMING TO
-NOTES
-SEE ALSO
-----
!!NAME
-
-
-setpgid,
getpgid, setpgrp, getpgrp
- set/
get process group
+getpgid - get process group
!!SYNOPSIS
-__#include __
+
__#include <unistd.h>
__
-__int setpgid(pid_t__ ''pid''__, pid_t__
-''pgid''__);
-
pid_t getpgid(pid_t__ ''pid''__);
-int setpgrp(void);
-pid_t getpgrp(void);__
+
pid_t getpgid(pid_t__ ''pid''__);
!!DESCRIPTION
+getpgid(2) returns the process group ID of the process specified by ''pid''. If ''pid'' is zero, the process ID of the current process is used.
+Process groups are used for distribution of signals, and by terminals to arbitrate requests for their input: Processes that have the same process group as the terminal are foreground and may read, while others will block with a signal if they attempt to read. These calls are thus used by programs such as csh(1) to create process groups in implementing job control. The [TIOCGPGRP] and [TIOCSPGRP] calls described in termios(3) are used to get/set the process group of the control terminal.
-__setpgid__ sets the process group ID of the process
-specified by ''pid'' to ''pgid''.
If ''pid'' is
-zero
, the process ID of the current process
is used. If
-''pgid'' is zero
, the process ID of the process specified
-by ''pid''
is used
. If __setpgid__ is used to move a
-process from one process group to another (as is done by
-some shells when creating pipelines), both process groups
-must be part of
the same
session. In this case
, the
-''pgid'' specifies an existing
process group to be joined
-and
the session ID of that
group must match the session ID
-
of the joining process
.
+If a session has a controlling terminal
, [CLOCAL]
is not set and a hangup occurs
, then
the session leader
is sent a [SIGHUP]
. If the session leader exits
, the [SIGHUP] signal will be sent to each
process in
the foreground process
group of the controlling terminal
.
+If the exit of the process causes a process group to become orphaned, and if any member of the newly-orphaned process group is stopped, then a [SIGHUP] signal followed by a [SIGCONT] signal will be sent to each process in the newly-orphaned process group.
-__getpgid__ returns the process group ID of the process
-specified by ''pid''. If ''pid'' is zero, the process
-ID of the current process is used.
-
-
-In the Linux DLL 4.4.1 library, __setpgrp__ simply calls
-__setpgid(0,0)__.
-
-
-__getpgrp__ is equivalent to __getpgid(0)__. Each
-process group is a member of a session and each process is a
-member of the session of which its process group is a
-member.
-
-
-Process groups are used for distribution of signals, and by
-terminals to arbitrate requests for their input: Processes
-that have the same process group as the terminal are
-foreground and may read, while others will block with a
-signal if they attempt to read. These calls are thus used by
-programs such as csh(1) to create process groups in
-implementing job control. The __TIOCGPGRP__ and
-__TIOCSPGRP__ calls described in termios(4) are
-used to get/set the process group of the control
-terminal.
-
-
-If a session has a controlling terminal, CLOCAL is not set
-and a hangup occurs, then the session leader is sent a
-SIGHUP. If the session leader exits, the SIGHUP signal will
-be sent to each process in the foreground process group of
-the controlling terminal.
-
-
-If the exit of the process causes a process group to become
-orphaned, and if any member of the newly-orphaned process
-group is stopped, then a SIGHUP signal followed by a SIGCONT
-signal will be sent to each process in the newly-orphaned
-process group.
!!RETURN VALUE
+__getpgid__ returns a process group on success. On error, -1 is returned, and ''errno'' is set appropriately.
-
-On success, __setpgid__ and __setpgrp__ return zero.
-On error, -1 is returned, and ''errno'' is set
-appropriately.
-
-
-__getpgid__ returns a process group on success. On error,
--1 is returned, and ''errno'' is set
-appropriately.
-
-
-__getpgrp__ always returns the current process
-group.
!!ERRORS
+;[EINVAL]: ''pgid'' is less than 0.
+;[EPERM]: Various permission violations.
+;[ESRCH]: ''pid'' does not match any process.
-
-__EINVAL__
-
-
-''pgid'' is less than 0.
-
-
-__EPERM__
-
-
-Various permission violations.
-
-
-__ESRCH__
-
-
-''pid'' does not match any process.
!!CONFORMING TO
-
-
-The functions __setpgid__ and __getpgrp__ conform to
-POSIX.1.
The function __setpgrp__ is from BSD 4.
2. The
-function __getpgid__
conforms to SVr4.
-!!NOTES
-
-
-POSIX took __setpgid__ from the BSD function
-__setpgrp__. Also SysV has a function with the same name,
-but it is identical to setsid(2)
.
+The function getpgid(
2)
conforms to SVr4.
!!SEE ALSO
-
-
-
getuid(2), setsid(2), tcsetpgrp(3),
-
termios(4)
-----
+getuid(2), setsid(2), tcsetpgrp(3), termios(4), [SIGHUP]