SETPGID(2) BSD Programmer's 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);
DESCRIPTIONsetpgid() sets the process group of the specified process pid to the
specified pgrp. If pid is zero, then the call applies to the current pro-
cess.
If the invoker is not the superuser, then the affected process must have
the same effective user ID as the invoker or be a descendant of the in-
voking process.
RETURN VALUESsetpgid() returns 0 when the operation was successful. If the request
failed, -1 is returned and the global variable errno indicates the rea-
son.
ERRORSsetpgid() 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 effective user ID of the requested process is different
from that of the caller and the process is not a descendant
of the calling process.
[ESRCH] The value of the pid argument does not match the process ID
of the calling process or of a child process of the calling
process.
SEE ALSOgetpgrp(2)STANDARDSsetpgrp() is identical to setpgid(), and is retained for calling conven-
tion compatibility with historical versions of BSD.
The setpgid() function conforms to IEEE Std 1003.1-1988 ("POSIX").
MirOS BSD #10-current June 4, 1993 1