getsid man page

getsid — get session ID

Synopsis

#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

Description

getsid(0) returns the session ID of the calling process. 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 will be returned, and errno is set appropriately.

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

This system call is available on Linux since version 2.0.

Conforming to

POSIX.1-2001, POSIX.1-2008, SVr4.

Notes

Linux does not return EPERM.

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

See Also

getpgid(2), setsid(2), credentials(7)

Colophon

This page is part of release 4.08 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.

Referenced By

credentials(7), procenv(1), ps(1), sd_pid_get_session(3), setsid(2), syscalls(2), tcgetsid(3), utmp(5).

2016-10-08 Linux Linux Programmer's Manual