Manpages

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 [AT] perm.ru> 2003