---
name: "getegid"
section: "2"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "freebsd", "macos"]
url: "https://new.carta.tech/getgid"
---

# getegid(2)

get group identity

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

## NAME

getgid, getegid - get group identity

## LIBRARY

Standard C library (*libc*, *-lc*)

## SYNOPSIS

```
#include <unistd.h>
```

**gid\_t getgid(void);** **gid\_t getegid(void);**

## DESCRIPTION

**getgid**() returns the real group ID of the calling process.

**getegid**() returns the effective group ID of the calling process.

## ERRORS

These functions are always successful and never modify *errno*.

## VERSIONS

On Alpha, instead of a pair of **getgid**() and **getegid**() system calls, a single **getxgid**() system call is provided, which returns a pair of real and effective GIDs. The glibc **getgid**() and **getegid**() wrapper functions transparently deal with this. See [**syscall**(2)](/syscall/2.md) for details regarding register mapping.

## STANDARDS

POSIX.1-2024.

## HISTORY

4\.3BSD, POSIX.1-1988.

The original Linux **getgid**() and **getegid**() system calls supported only 16-bit group IDs. Subsequently, Linux 2.4 added **getgid32**() and **getegid32**(), supporting 32-bit IDs. The glibc **getgid**() and **getegid**() wrapper functions transparently deal with the variations across kernel versions.

## SEE ALSO

[**getresgid**(2)](/getresgid/2.md), [**setgid**(2)](/setgid/2.md), [**setregid**(2)](/setregid/2.md), [**credentials**(7)](/credentials/7.md)
