Differences between current version and revision by previous author of getpgrp(2).
Other diffs: Previous Major Revision, Previous Revision, or view the Annotated Edit History
Newer page: | version 2 | Last edited on Tuesday, December 31, 2002 1:31:23 am | by PerryLorier | |
Older page: | version 1 | Last edited on Tuesday, June 4, 2002 12:23:41 am | by perry | Revert |
@@ -1,133 +1,25 @@
-SETPGID
-!!!SETPGID
-NAME
-SYNOPSIS
-DESCRIPTION
-RETURN VALUE
-ERRORS
-CONFORMING TO
-NOTES
-SEE ALSO
-----
!!NAME
-
-
-setpgid, getpgid,
setpgrp, getpgrp
- set/
get process group
+setpgrp - get process group
!!SYNOPSIS
-
-
-
__#include __
-
-
-__int setpgid(pid_t__ ''pid''__, pid_t__
-''pgid''__);
-pid_t getpgid(pid_t__ ''pid''__);
-int setpgrp(void);
-
pid_t getpgrp(void);__
+
__#include <unistd.h>
__
+ __pid_t getpgrp(void);__
!!DESCRIPTION
+getpgrp(2) is equivalent to [getpgid(0)|getpgrp(2)]. 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.
-__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
.
+[ProcessGroup]s 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.
-__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
.
+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
.
-
-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
+getpgrp(2) always returns the current process group.
-
-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.
!!CONFORMING TO
+The function getpgrp(2) conforms to POSIX.1.
-
-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).
!!SEE ALSO
-
-
-
getuid(2), setsid(2), tcsetpgrp(3),
-
termios(4)
-----
+getuid(2), setsid(2), tcsetpgrp(3), termios(4)