IceWalkers.com - Linux Software downloads and news
Name : Password :
Linux SoftwareLinux RPMLinux HowtosLink UsAboutAdvertise

getpgrp (2)

SETPGID(2)                 Linux Programmer's Manual                SETPGID(2)



NAME
       setpgid, getpgid, setpgrp, getpgrp - set/get process group

SYNOPSIS
       #include<unistd.h>

       intsetpgid(pid_t pid,pid_t pgid);
       pid_tgetpgid(pid_t pid);
       intsetpgrp(void);
       pid_tgetpgrp(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 pro-
       cess 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.

       The call setpgrp() is equivalent to setpgid(0,0).

       Similarly,  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 implement-
       ing job control.   The  TIOCGPGRP  and  TIOCSPGRP  calls  described  in
       termios(3)  are used to get/set the process group of the control termi-
       nal.

       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 pro-
       cess in the newly-orphaned process group.


RETURNVALUE
       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 (setpgid, setpgrp).

       EACCES An attempt was made to change the process group ID of one of the
              children  of  the calling process and the child had already per-
              formed an execve (setpgid, setpgrp).

       EPERM  An attempt was made to move a process into a process group in  a
              different  session,  or to change the process group ID of one of
              the children of the calling process and the child was in a  dif-
              ferent  session,  or to change the process group ID of a session
              leader (setpgid, setpgrp).

       ESRCH  For getpgid: pid does not match any process.  For  setpgid:  pid
              is  not  the current process and not a child of the current pro-
              cess.

CONFORMINGTO
       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).

       To get the  prototypes  under  glibc,  define  both  _XOPEN_SOURCE  and
       _XOPEN_SOURCE_EXTENDED, or use "#define _XOPEN_SOURCE n" for some inte-
       ger n larger than or equal to 500.

SEEALSO
       getuid(2), setsid(2), tcgetpgrp(3), tcsetpgrp(3), termios(3)



Linux                             2003-01-20                        SETPGID(2)

_Exitgetsockoptoutwshmat
_exitgettidoutw_pshmctl
_llseekgettimeofdaypauseshmdt
_newselectgetuidpersonalityshmget
_sysctlgttypipeshmop
acceptidlepivot_rootshutdown
accessinbpollsigaction
acctinb_pprctlsigaltstack
adjtimexinlpreadsigblock
afs_syscallinl_pprofsiggetmask
alarminsbpselectsigmask
alloc_hugepagesinslptracesignal
arch_prctlinswpwritesigpause
bdflushintroquotactlsigpending
bindinwreadsigprocmask
breakinw_preaddirsigqueue
brkioctlreadlinksigreturn
cacheflushioctl_listreadvsigsetmask
capgetiopermrebootsigsuspend
capsetioplrecvsigtimedwait
chdiripcrecvfromsigvec
chmodkillrecvmsgsigwaitinfo
chownkillpgrenamesocket
chrootlchownrmdirsocketcall
clonelinksbrksocketpair
closelistensched_get_priority_maxssetmask
connectllseeksched_get_priority_minstat
creatlocksched_getaffinitystatfs
duplseeksched_getparamstime
dup2lstatsched_getschedulerstty
execvemadvisesched_rr_get_intervalswapoff
exitmincoresched_setaffinityswapon
fchdirmkdirsched_setparamsymlink
fchmodmknodsched_setschedulersync
fchownmlocksched_yieldsyscall
fcntlmlockallselectsyscalls
fdatasyncmmapselect_tutsysctl
flockmmap2semctlsysfs
forkmodify_ldtsemgetsysinfo
free_hugepagesmountsemopsyslog
fstatmprotectsendtime
fstatfsmpxsendfiletimes
fsyncmremapsendmsgtkill
ftruncatemsgctlsendtotruncate
futexmsggetsetcontextumask
getcontextmsgopsetdomainnameumount
getdentsmsgrcvsetegidumount2
getdomainnamemsgsndseteuiduname
getdtablesizemsyncsetfsgidundocumented
getegidmunlocksetfsuidunimplemented
geteuidmunlockallsetgidunlink
getgidmunmapsetgroupsuselib
getgroupsnanosleepsethostidustat
gethostidnfsservctlsethostnameutime
gethostnamenicesetitimerutimes
getitimerobsoletesetpgidvfork
getpagesizeoldfstatsetpgrpvhangup
getpeernameoldlstatsetpriorityvm86
getpgidoldoldunamesetregidwait
getpgrpoldstatsetresgidwait3
getpidoldunamesetresuidwait4
getppidopensetreuidwaitpid
getpriorityoutbsetrlimitwrite
getresgidoutb_psetsidwritev
getresuidoutlsetsockopt 
getrlimitoutl_psettimeofday 
getrusageoutsbsetuid 
getsidoutslsetup 


Inkscape 0.47
Vector graphic editor for SVG
DeleGate 9.9.6-pre5
Proxy server which runs on multiple platforms
Nano 2.1.99pre2
Emulate Pico while also offering a few enhancements.
My Money 2.0.49
Personal financial software
Linux Kernel 2.6 2.6.32-rc8
Linux Kernel
GCstar 1.5.0
Personal collections manager
ImageMagick 6.5.7.9
ImageMagick image processing studio
BibleTime 2.4
Bible study software for Linux / KDE
Tellico 2.1.1
Collection manager for books, music, videos, and bibliographies
Totem 2.28.4
Movie player for Gnome
Free IT Magazines, White Papers, eBooks, and more !
Oracle Magazine

Contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more.

Vulnerability Management for Dummies

Get all the Facts and See How to Implement a Successful Vulnerability Management Program.

Website Magazine

Has tapped premier talent in the Internet industry for our content and each and every issue will contain practical advice and insights for website owners.

Linux Software Map
Find Linux RPM
Best Rated Linux Software
Most Rated Linux Software
Linux Distributions
Linux Howtos
Quick Survey

Please take our survey and help us improve our website to serve you better.

Thank you.
Linux Software
Linux / IT Resources
Site Resources
Google
Privacy Policy
Contact Us
Submit Software
Advertising info