ОБЗОР
#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 не найден.