getsid(2) получить ID сеанса

ОБЗОР

#include <unistd.h>

pid_t getsid(pid_t pid);

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

getsid():

_XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
|| /* начиная с glibc 2.12: */ _POSIX_C_SOURCE >= 200809L

ОПИСАНИЕ

getsid(0) возвращает идентификатор (ID) сеанса вызвавшего процесса. getsid(p) возвращает идентификатор сеанса процесса с ID равным p. (Идентификатор сеанса процесса --- это идентификатор группы процесса, который является лидером сеанса.)

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

При успешном выполнении возвращается идентификатор сеанса. В случае ошибки возвращается (pid_t) -1, а errno устанавливается в соответствующее значение.

ОШИБКИ

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

ВЕРСИИ

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

СООТВЕТСТВИЕ СТАНДАРТАМ

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

ЗАМЕЧАНИЯ

Linux не возвращает EPERM.