1.\" Copyright (c) 1980, 1991, 1993 2.\" The Regents of the University of California. All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 3. Neither the name of the University nor the names of its contributors 13.\" may be used to endorse or promote products derived from this software 14.\" without specific prior written permission. 15.\" 16.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26.\" SUCH DAMAGE. 27.\" 28.\" @(#)setpgid.2 8.1 (Berkeley) 6/4/93 29.\" 30.Dd February 8, 2004 31.Dt SETPGID 2 32.Os 33.Sh NAME 34.Nm setpgid , 35.Nm setpgrp 36.Nd set process group 37.Sh LIBRARY 38.Lb libc 39.Sh SYNOPSIS 40.In unistd.h 41.Ft int 42.Fn setpgid "pid_t pid" "pid_t pgrp" 43.Ft int 44.Fn setpgrp "pid_t pid" "pid_t pgrp" 45.Sh DESCRIPTION 46The 47.Fn setpgid 48system call 49sets the process group of the specified process 50.Fa pid 51to the specified 52.Fa pgrp . 53If 54.Fa pid 55is zero, then the call applies to the current process. 56If 57.Fa pgrp 58is zero, then the process id of the process specified by 59.Fa pid 60is used instead. 61.Pp 62If the affected process is not the invoking process, then it must be a 63child of the invoking process, it must not have performed an 64.Xr exec 3 65operation, and both processes must be in the same session. 66The requested process group ID must already exist in the session of 67the caller, or it must be equal to the target process ID. 68.Sh RETURN VALUES 69.Rv -std setpgid 70.Sh COMPATIBILITY 71The 72.Fn setpgrp 73system call 74is identical to 75.Fn setpgid , 76and is retained for calling convention compatibility with historical 77versions of 78.Bx . 79.Sh ERRORS 80The 81.Fn setpgid 82system call 83will fail and the process group will not be altered if: 84.Bl -tag -width Er 85.It Bq Er EINVAL 86The requested process group ID is not legal. 87.It Bq Er ESRCH 88The requested process does not exist. 89.It Bq Er ESRCH 90The target process is not the calling process or 91a child of the calling process. 92.It Bq Er EACCES 93The requested process is a child of the calling process, 94but it has performed an 95.Xr exec 3 96operation. 97.It Bq Er EPERM 98The target process is a session leader. 99.It Bq Er EPERM 100The requested process group ID is not in the session of the caller, 101and it is not equal to the process ID of the target process. 102.El 103.Sh SEE ALSO 104.Xr getpgrp 2 105.Sh STANDARDS 106The 107.Fn setpgid 108system call is expected to conform to 109.St -p1003.1-90 . 110