GETSID(2)

NAME
getsid - получить ID сессии

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

pid_t getsid(pid_t pid);

ОПИСАНИЕ
getsid(0) возвращает идентификатор (ID) сессии, вызвавшего процесса. getsid(p) возвращает идентификатор сессии процесса с номером p. (Идентификатор сессии процесса - это идентификатор группы процесса, который является лидером сессии). В случае ошибки, (pid_t) будет возвращено значение -1 и значение errno будет установлено соответствующим образом.

ОШИБКИ

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

ESRCH
    Не найден процесс с указанным номером p .

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

ЗАМЕЧАНИЯ
Linux не возвращает EPERM.

Linux имеет данный системный вызов начиная с версии Linux 1.3.44. Поддержка вызова в libc реализована, начиная с libc 5.2.19.

Чтобы получить прототип в glibc, задайте _XOPEN_SOURCE и _XOPEN_SOURCE_EXTENDED, или используйте "#define _XOPEN_SOURCE n", где значение n должно быть целым и быть больше или равно 500.

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

ПЕРЕВОД
Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2003