---
name: "getgid"
section: "2"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd", "macos"]
url: "https://new.carta.tech/getegid"
---

# getgid(2)

get group process identification

Part of [getegid(2)](/getegid/2.md).

## NAME

**getgid**, **getegid** – get group process identification

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<unistd.h\>**

*gid\_t*\

**getgid**(*void*);

*gid\_t*\

**getegid**(*void*);

## DESCRIPTION

The **getgid**() system call returns the real group ID of the calling process, **getegid**() returns the effective group ID of the calling process.

The real group ID is specified at login time.

The real group ID is the group of the user who invoked the program. As the effective group ID gives the process additional permissions during the execution of “*set-group-ID*” mode processes, **getgid**() is used to determine the real-user-id of the calling process.

## ERRORS

The **getgid**() and **getegid**() system calls are always successful, and no return value is reserved to indicate an error.

## SEE ALSO

[getuid(2)](/getuid/2.md), [issetugid(2)](/issetugid/2.md), [setgid(2)](/setgid/2.md), [setregid(2)](/setregid/2.md)

## STANDARDS

The **getgid**() and **getegid**() system calls are expected to conform to ISO/IEC 9945-1:1990 (“POSIX.1”).

## HISTORY

The **getgid**() function appeared in Version 4 AT&T UNIX.
