Manual Page Result
0
Command: setpgid | Section: 2 | Source: OpenBSD | File: setpgid.2
SETPGID(2) FreeBSD System Calls Manual SETPGID(2)
NAME
setpgid, setpgrp - set process group
SYNOPSIS
#include <unistd.h>
int
setpgid(pid_t pid, pid_t pgrp);
int
setpgrp(pid_t pid, pid_t pgrp);
DESCRIPTION
setpgid() sets the process group of the specified process pid to the
specified pgrp. If pid is zero, then the call applies to the current
process. If pgrp is zero, the process ID of the specified process is
used.
RETURN VALUES
Upon successful completion, the value 0 is returned; otherwise the
value -1 is returned and the global variable errno is set to indicate the
error.
ERRORS
setpgid() will fail and the process group will not be altered if:
[EACCES] The value of the pid argument matches the process ID
of a child process of the calling process, and the
child process has successfully executed one of the
exec functions.
[EINVAL] The value of the pgrp argument is less than zero.
[EPERM] The requested process is a descendant of the calling
process, and is either a session leader or not in the
same session as the calling process.
[EPERM] The value of the pgrp argument is neither the PID of
the process indicated by the pid argument nor the
process group ID of an existing process group in the
same session as the calling process.
[ESRCH] The value of the pid argument does not match the
process ID of the calling process or of a descendant
of the calling process.
SEE ALSO
getpgrp(2), setsid(2)
STANDARDS
setpgrp() is identical to setpgid(), and is retained for calling
convention compatibility with historical versions of BSD.
The setpgid() function conforms to IEEE Std 1003.1-2008 ("POSIX.1").
FreeBSD 14.1-RELEASE-p8 December 14, 2014 FreeBSD 14.1-RELEASE-p8