]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man2/setpgid.2
locale.1, localedef.1, _exit.2, accept.2, access.2, acct.2, adjtimex.2, bdflush.2...
[thirdparty/man-pages.git] / man2 / setpgid.2
index efe9574a056f8ab118bfdb0bd95bbe69768ecd3a..b48424e41bea513ad0c3a3894bf1d9adec7dffd0 100644 (file)
@@ -2,6 +2,7 @@
 .\" and Copyright (C) 2007, Michael Kerrisk <mtk.manpages@gmail.com>
 .\" All rights reserved.
 .\"
+.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB)
 .\" Redistribution and use in source and binary forms, with or without
 .\" modification, are permitted provided that the following conditions
 .\" are met:
@@ -29,6 +30,7 @@
 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
+.\" %%%LICENSE_END
 .\"
 .\"     @(#)getpgrp.2  6.4 (Berkeley) 3/10/91
 .\"
@@ -43,7 +45,7 @@
 .\" 2007-07-25, mtk, fairly substantial rewrites and rearrangements
 .\" of text.
 .\"
-.TH SETPGID 2 2010-09-20 "Linux" "Linux Programmer's Manual"
+.TH SETPGID 2 2016-03-15 "Linux" "Linux Programmer's Manual"
 .SH NAME
 setpgid, getpgid, setpgrp, getpgrp \- set/get process group
 .SH SYNOPSIS
@@ -72,24 +74,27 @@ Feature Test Macro Requirements for glibc (see
 .PD 0
 .BR getpgid ():
 .RS 4
-_XOPEN_SOURCE\ >=\ 500 ||
-_XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
+_XOPEN_SOURCE\ >=\ 500
+.\"    || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
 .br
-|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\ >=\ 200809L
+    || /* Since glibc 2.12: */ _POSIX_C_SOURCE\ >=\ 200809L
 .RE
 .sp
 .BR setpgrp "() (POSIX.1):"
 .nf
-    _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 500 ||
-    _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
+    _XOPEN_SOURCE\ >=\ 500
+.\"    || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
+        || /* Since glibc 2.19: */ _DEFAULT_SOURCE
+        || /* Glibc versions <= 2.19: */ _SVID_SOURCE
 .fi
 .sp
 .BR setpgrp "()\ (BSD),"
 .BR getpgrp "()\ (BSD):"
 .nf
+    [These are available only before glibc 2.19]
     _BSD_SOURCE &&
         !\ (_POSIX_SOURCE || _POSIX_C_SOURCE || _XOPEN_SOURCE ||
-           _XOPEN_SOURCE_EXTENDED || _GNU_SOURCE || _SVID_SOURCE)
+            _GNU_SOURCE || _SVID_SOURCE)
 .fi
 .PD
 .ad
@@ -144,7 +149,7 @@ necessary, and the POSIX.1
 .BR getpgrp ()
 is preferred for that task.)
 
-The System V-style
+The System\ V-style
 .BR setpgrp (),
 which takes no arguments, is equivalent to
 .IR "setpgid(0,\ 0)" .
@@ -155,19 +160,40 @@ call, which takes arguments
 .I pid
 and
 .IR pgid ,
-is equivalent to
-.IR "setpgid(pid, pgid)" .
+is a wrapper function that calls
+
+    setpgid(pid, pgid)
+
 .\" The true BSD setpgrp() system call differs in allowing the PGID
 .\" to be set to arbitrary values, rather than being restricted to
 .\" PGIDs in the same session.
+Since glibc 2.19, the BSD-specific
+.BR setpgrp ()
+function is no longer exposed by
+.IR <unistd.h> ;
+calls should be replaced with the
+.BR setpgid ()
+call shown above.
 
 The BSD-specific
 .BR getpgrp ()
 call, which takes a single
 .I pid
-argument, is equivalent to
-.IR "getpgid(pid)" .
-.SH "RETURN VALUE"
+argument, is a wrapper function that calls
+
+    getpgid(pid)
+
+Since glibc 2.19, the BSD-specific
+.BR getpgrp ()
+function is no longer exposed by
+.IR <unistd.h> ;
+calls should be replaced with calls to the POSIX.1
+.BR getpgrp ()
+which takes no arguments (if the intent is to obtain the caller's PGID),
+or with the
+.BR getpgid ()
+call shown above.
+.SH RETURN VALUE
 On success,
 .BR setpgid ()
 and
@@ -222,7 +248,7 @@ For
 .BR setpgid ():
 .I pid
 is not the calling process and not a child of the calling process.
-.SH "CONFORMING TO"
+.SH CONFORMING TO
 .BR setpgid ()
 and the version of
 .BR getpgrp ()
@@ -272,7 +298,7 @@ from the terminal;
 if a background process group tries to
 .BR read (2)
 from the terminal, then the group is sent a
-.B SIGTSTP
+.B SIGTTIN
 signal, which suspends it.
 The
 .BR tcgetpgrp (3)
@@ -312,7 +338,7 @@ every member of process group is either itself also a member
 of the process group or is a member of a process group
 in a different session (see also
 .BR credentials (7)).
-.SH "SEE ALSO"
+.SH SEE ALSO
 .BR getuid (2),
 .BR setsid (2),
 .BR tcgetpgrp (3),