getsid(2)

getsid2

Get session id

Usage

#include <unistd.h>

pid_t getsid(pid_t pid);

Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

getsid():

    _XOPEN_SOURCE >= 500
        || /* Since glibc 2.12: */ _POSIX_C_SOURCE >= 200809L

Library

Standard C library (libc, -lc)

Overview

getsid() returns the session ID of the process with process ID pid. If pid is 0, getsid() returns the session ID of the calling process.

Return value

On success, a session ID is returned. On error, (pid_t) -1 is returned, and errno is set to indicate the error.

Errors

EPERM

A process with process ID pid exists, but it is not in the same session as the calling process, and the implementation considers this an error.

ESRCH

No process with process ID pid was found.

Versions

Linux does not return EPERM.

Notes

See credentials(7) for a description of sessions and session IDs.

Releases

19 releases since Debian 1.1 (Buzz); the text changed 18 times.

  1. 1.1
  2. 1.2
  3. 1.3
  4. 2.0
  5. 2.1
  6. 2.2
  7. 3.0
  8. 3.1
  9. 4.0
  10. 5.0
  11. 6.0
  12. 7
  13. 8
  14. 9
  15. 10
  16. 11
  17. 12
  18. 13
  19. Arch

Standards

POSIX.1-2024.

History

SVr4, SUSv1, Linux 2.0, POSIX.1-2001 XSI, POSIX.1-2008.

From man-pages 6.19-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.