Home
Main website
Display Sidebar
Hide Ads
Recent Changes
View Source:
setpgrp(2)
Edit
PageHistory
Diff
Info
LikePages
SETPGID !!!SETPGID NAME SYNOPSIS DESCRIPTION RETURN VALUE ERRORS CONFORMING TO NOTES SEE ALSO ---- !!NAME setpgid, getpgid, setpgrp, getpgrp - set/get process group !!SYNOPSIS __#include __ __int setpgid(pid_t__ ''pid''__, pid_t__ ''pgid''__); pid_t getpgid(pid_t__ ''pid''__); int setpgrp(void); pid_t getpgrp(void);__ !!DESCRIPTION __setpgid__ sets the process group ID of the process specified by ''pid'' to ''pgid''. If ''pid'' is zero, the process ID of the current process is used. If ''pgid'' is zero, the process ID of the process specified by ''pid'' is used. If __setpgid__ is used to move a process from one process group to another (as is done by some shells when creating pipelines), both process groups must be part of the same session. In this case, the ''pgid'' specifies an existing process group to be joined and the session ID of that group must match the session ID of the joining process. __getpgid__ returns the process group ID of the process specified by ''pid''. If ''pid'' is zero, the process ID of the current process is used. In the Linux DLL 4.4.1 library, __setpgrp__ simply calls __setpgid(0,0)__. __getpgrp__ is equivalent to __getpgid(0)__. Each process group is a member of a session and each process is a member of the session of which its process group is a member. Process groups are used for distribution of signals, and by terminals to arbitrate requests for their input: Processes that have the same process group as the terminal are foreground and may read, while others will block with a signal if they attempt to read. These calls are thus used by programs such as csh(1) to create process groups in implementing job control. The __TIOCGPGRP__ and __TIOCSPGRP__ calls described in termios(4) are used to get/set the process group of the control terminal. If a session has a controlling terminal, CLOCAL is not set and a hangup occurs, then the session leader is sent a SIGHUP. If the session leader exits, the SIGHUP signal will be sent to each process in the foreground process group of the controlling terminal. If the exit of the process causes a process group to become orphaned, and if any member of the newly-orphaned process group is stopped, then a SIGHUP signal followed by a SIGCONT signal will be sent to each process in the newly-orphaned process group. !!RETURN VALUE On success, __setpgid__ and __setpgrp__ return zero. On error, -1 is returned, and ''errno'' is set appropriately. __getpgid__ returns a process group on success. On error, -1 is returned, and ''errno'' is set appropriately. __getpgrp__ always returns the current process group. !!ERRORS __EINVAL__ ''pgid'' is less than 0. __EPERM__ Various permission violations. __ESRCH__ ''pid'' does not match any process. !!CONFORMING TO The functions __setpgid__ and __getpgrp__ conform to POSIX.1. The function __setpgrp__ is from BSD 4.2. The function __getpgid__ conforms to SVr4. !!NOTES POSIX took __setpgid__ from the BSD function __setpgrp__. Also SysV has a function with the same name, but it is identical to setsid(2). !!SEE ALSO getuid(2), setsid(2), tcsetpgrp(3), termios(4) ----
3 pages link to
setpgrp(2)
:
perlfunc(1)
Man2s
setsid(2)
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.