GETSID(2)

ИМЯ
getsid - получить ID сеанса

ОБЗОР
#include <unistd.h>

pid_t getsid(pid_t pid);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

getsid():
    _XOPEN_SOURCE >= 500
        || /* начиная с glibc 2.12: */ _POSIX_C_SOURCE >= 200809L

ОПИСАНИЕ
Вызов getsid(0) возвращает идентификатор (ID) сеанса вызвавшего процесса. Вызов getsid() возвращает идентификатор сеанса процесса с ID равным pid. Если pid равно 0, то getsid() возвращает идентификатор сеанса вызвавшего процесса.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении возвращается идентификатор сеанса. В случае ошибки возвращается (pid_t) -1, а errno устанавливается в соответствующее значение.

ОШИБКИ

EPERM
    Процесс с идентификатором pid существует, но не находится в том же сеансе что и вызвавший процесс; в данной реализации это считается ошибкой.

ESRCH
    Процесс с идентификатором pid не найден.

ВЕРСИИ
Данный системный вызов доступен в Linux начиная с версии 2.0.

СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1-2001, POSIX.1-2008, SVr4.

ЗАМЕЧАНИЯ
Linux не возвращает EPERM. На странице credentials(7) есть описание сеансов и их идентификаторов.

СМОТРИТЕ ТАКЖЕ
getpgid(2), setsid(2), credentials(7)