Manpage of SETPGID
SETPGID
Section: Linux Programmer's Manual (2)
Updated: 15 April 2025
Index
NAME
setpgid, getpgid, setpgrp, getpgrp - set/get process group
SYNOPSIS
#include <unistd.h>
int setpgid(pid_t pid, pid_t pgid);
pid_t getpgid(pid_t pid);
int setpgrp(void);
pid_t getpgrp(void);
DESCRIPTION
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.
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).
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
to create process groups in implementing job control. The
TIOCGPGRP
and
TIOCSPGRP
calls described in
are used to get/set the process group of the control terminal.
RETURN VALUE
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
SVr4, POSIX, 4.4BSD.
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.
SEE ALSO
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- ERRORS
-
- CONFORMING TO
-
- CONFORMING TO
-
- SEE ALSO
-
This document was created by
using the manual pages.
Time: 11:56:06 GMT, March 24, 2025