.\" Copyright (c) 1983, 1991 Regents of the University of California. .\" All rights reserved. .\" .\" %sccs.include.redist.man% .\" .\" @(#)getpgrp.2 6.7 (Berkeley) 10/01/92 .\" .Dd .Dt GETPGRP 2 .Os BSD 4.2 .Sh NAME .Nm getpgrp .Nd get process group .Sh SYNOPSIS .Fd #include .Ft pid_t .Fn getpgrp "void" .Sh DESCRIPTION The process group of the current process is returned by .Fn getpgrp . .Pp 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. .Pp This call is thus used by programs such as .Xr csh 1 to create process groups in implementing job control. The .Fn tcgetpgrp and .Fn tcsetpgrp calls are used to get/set the process group of the control terminal. .Sh SEE ALSO .Xr setpgid 2 , .Xr termios 4 .Sh HISTORY The .Nm function call appeared in .Bx 4.0 . .Sh STANDARDS The .Fn getpgrp function conforms to IEEE Std 1003.1-1988 .Pq Dq Tn POSIX . .Sh COMPATABILITY This version of .Fn getpgrp differs from past Berkeley versions by not taking a .Fa "pid_t pid" argument. This incompatibility is required by .St -p1003.1-88 . .Pp From the .St -p1003.1-88 Rationale: .sp 4.3BSD provides a .Fn getpgrp function that returns the process group ID for a specified process. Although this function is used to support job control, all known job-control shells always specify the calling process with this function. Thus, the simpler System V .Fn getpgrp suffices, and the added complexity of the 4.3BSD .Fn getpgrp has been omitted from POSIX.1.