setpgid(2)




NAME

     setpgid - set process group ID


SYNOPSIS

     #include <sys/types.h>
     #include <unistd.h>

     int setpgid(pid_t pid, pid_t pgid);


DESCRIPTION

     The setpgid() function sets the process group ID of the pro-
     cess with ID pid to pgid.

     If pgid is equal to pid, the process becomes a process group
     leader. See intro(2) for more information on session leaders
     and process group leaders.

     If pgid is not equal to pid, the process becomes a member of
     an existing process group.

     If pid is equal to 0, the process ID of the calling  process
     is used. If pgid is equal to 0, the process specified by pid
     becomes a process group leader.


RETURN VALUES

     Upon successful completion, 0 is returned. Otherwise, -1  is
     returned and errno is set to indicate the error.


ERRORS

     The setpgid() function will fail if:

     EACCES
           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  family  of
           functions (see exec(2)).

     EINVAL
           The pgid argument is less than (pid_t)  0  or  greater
           than or equal to PID_MAX, or the calling process has a
           controlling terminal that does not  support  job  con-
           trol.

     EPERM The process indicated by the pid argument is a session
           leader.

     EPERM The pid argument matches the process  ID  of  a  child
           process  of  the calling process and the child process
           is not in the same session as the calling process.

     EPERM The pgid argument does not match the process ID of the
           process indicated by the pid argument, and there is no
           process with a process group ID that matches  pgid  in
           the same session as the calling process.

     ESRCH The pid argument does not match the process ID of  the
           calling  process  or of a child process of the calling
           process.


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | MT-Level                    | Async-Signal-Safe           |
    |_____________________________|_____________________________|


SEE ALSO

     intro(2), exec(2), exit(2), fork(2),  getpid(2),  getsid(2),
     attributes(5)


Man(1) output converted with man2html